如果您的接口这样声明:
type Person interface {
BasicInfo() MemberBasicInfo
}
然后,任何实现a的类型BasicInfo() MemberBasicInfo
都将满足该接口。
在您的情况下,然后创建此方法:
func (member *Member) BasicInfo() MemberBasicInfo
这意味着类型*Member
满足接口。
但是..注意*
那里。Member
没有实现该接口,而是由*Member
谁来实现。
因此,在尝试为接口变量分配类型时,请确保使用指针而不是直接值。
这应该工作:
var p Person
p = &Member{}
但这不会:
var p Person
p = Member{}