您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在golang中实现接口给出方法有指针的接收者

在golang中实现接口给出方法有指针的接收者

如果您的接口这样声明:

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{}
Go 2022/1/1 18:13:56 有600人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶