Closed kaikaige closed 7 years ago
package main import ( "fmt" "github.com/go-ozzo/ozzo-dbx" _ "github.com/go-sql-driver/mysql" ) var ( db, err = dbx.Open("mysql", "root:123456@tcp(localhost:3306)/jd?charset=utf8") ) type Model struct { } func (this *Model) Save() { db.Model(this).Insert() //此处的this是我的问题,如何让他指向的“子类”(不知道该如何称呼包含它的struct) } type User struct { Model //包含Model Username string Password string Status int } func (c User) TableName() string { return "user" } func main() { user := User{ Username: "admin3", Password: "123456", Status: 0, } err := user.Save() //save会失败 }
这个在go里是不好实现的--因为它不支持继承关系。
小白一枚,想在Model 里面实现个Save方法,然后包含Model的struct都可以直接使用Save(),减少一些重复性的代码,谢谢