以下问题有多种答案/技术:
我有几个答案,但需要进一步讨论。
一个好的设计是使您的类型不导出,但提供一个类似NewMyType()的导出构造函数,您可以在其中正确初始化struct / type。还返回接口类型而不是具体类型,并且该接口应包含其他人希望对您的值进行的操作。当然,您的具体类型必须实现该接口。
这可以通过简单地使类型本身不导出来完成。您可以导出函数NewSomething,甚至可以导出字段Text和DefaultText,但不要导出结构类型