package simpleBlog
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
)
type BlogOperations interface {
Persistence()
Delete()
}
type Blog struct {
Author string
Header string
Content string
}
func (blog *Blog) Persistence() {
result, err := DB.Exec("INSERT INTO blog.blog (author, header, content)VALUES (?,?,?)", blog.Author, blog.Header, blog.Content)
if nil != err {
fmt.Println(result, err)
}
fmt.Println("persistence", blog)
}
func (blog *Blog) Delete() {
DB.Exec("DELETE FROM blog.blog WHERE header=?", blog.Header)
fmt.Println("delete", blog)
}
OO三要素:类=数据+方法
后来想想C也能实现OO编程
只要相应的函数传入一个struct的指针….
后来又想想…Python不就是这么实现的么…有一个内置的this指针(虽然觉得是奇技淫巧…)
这么看来C也能实现OO编程,技巧在于传入一个隐式指针指向一个数据结构
那么再回想一下OO三要素,类=数据+方法
也就是通过this/struct指针来实现数据和方法的关联