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

在我的应用程序中,我有一个结构,我为其定义了一个函数来创建实例,因为字段的零值没有意义。此外,我没有导出结构。因此,创建的唯一方法是通过 。NewNew


var goodPerson = person.New("James", "Tran")


goodPerson.PrintFullName()

在调用方方面,我不知道如何创建一个将未导出的类型作为参数的函数,以便我仍然可以访问此类型的导出方法。


func doBadThingToGoodPeople(goodPerson <???>) {

   goodPerson.PrintFullName()

}

如果您能为我指出一个方向,我将不胜感激。


千巷猫影
浏览 89回答 1
1回答

慕码人2483693

您可以使用以下接口:type FullNameSupport interface {&nbsp; PrintFullName()}func doBadThingToGoodPeople(goodPerson FullNameSupport) {&nbsp; &nbsp;goodPerson.PrintFullName()}这样就不必导出类型。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go