下面的代码无法设置或从基本实体获取值如何使它能够获取基数以及继承的结构来返回值type BaseEntity struct { Id string}func (p BaseEntity) SetId(Id string) { p.Id = Id}func (p BaseEntity) GetId() string { return p.Id}type Employee struct { BaseEntity Name string}type DataInterface interface { SetId(Id string) GetId() string }func getObjFactory() DataInterface { //return Data.Employee{BaseEntity: Data.BaseEntity{}} return new(Employee)}func main() { entity := getObjFactory() entity.SetId("TEST") fmt.Printf(">> %s", entity.GetId()) }
1 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
该方法使用值接收器,因此是对象的副本,而不是指向该对象的指针。SetId
p
相反,您希望使用如下所示的指针接收器:
func (p *BaseEntity) SetId(Id string) { p.Id = Id }
您可以在“Go 之旅”中的“选择值或指针接收器”部分下找到更多详细信息。
- 1 回答
- 0 关注
- 72 浏览
添加回答
举报
0/150
提交
取消