小编典典

如何在Go结构中设置默认值

go

以下问题有多种答案/技术:

  1. 如何为golang结构设置默认值?
  2. 如何在Golang中初始化结构

我有几个答案,但需要进一步讨论。


阅读 1037

收藏
2020-07-02

共1个答案

小编典典

  1. 强制方法获取结构(构造方法)。

一个好的设计是使您的类型不导出,但提供一个类似NewMyType()的导出构造函数,您可以在其中正确初始化struct /
type。还返回接口类型而不是具体类型,并且该接口应包含其他人希望对您的值进行的操作。当然,您的具体类型必须实现该接口。

这可以通过简单地使类型本身不导出来完成。您可以导出函数NewSomething,甚至可以导出字段Text和DefaultText,但不要导出结构类型

  1. 为自己的模块自定义它的另一种方法是使用Config结构设置默认值(链接中的选项5),但这不是一个好方法。
2020-07-02