为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在Golang中使用未导出的类型作为参数来创建函数?

有没有办法在Golang中使用未导出的类型作为参数来创建函数?

Go
千巷猫影 2022-09-12 20:27:47
在我的应用程序中,我有一个结构,我为其定义了一个函数来创建实例,因为字段的零值没有意义。此外,我没有导出结构。因此,创建的唯一方法是通过 。NewNewvar goodPerson = person.New("James", "Tran")goodPerson.PrintFullName()在调用方方面,我不知道如何创建一个将未导出的类型作为参数的函数,以便我仍然可以访问此类型的导出方法。func doBadThingToGoodPeople(goodPerson <???>) {   goodPerson.PrintFullName()}如果您能为我指出一个方向,我将不胜感激。
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

您可以使用以下接口:


type FullNameSupport interface {

  PrintFullName()

}


func doBadThingToGoodPeople(goodPerson FullNameSupport) {

   goodPerson.PrintFullName()

}

这样就不必导出类型。


查看完整回答
反对 回复 2022-09-12
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信