以下问题有多种答案/技术:
- 如何为 golang 结构设置默认值?
- 如何在golang中初始化结构
我有几个答案,但需要进一步讨论。
原文由 Prateek 发布,翻译遵循 CC BY-SA 4.0 许可协议
以下问题有多种答案/技术:
我有几个答案,但需要进一步讨论。
原文由 Prateek 发布,翻译遵循 CC BY-SA 4.0 许可协议
一种可能的想法是编写单独的构造函数
//Something is the structure we work with
type Something struct {
Text string
DefaultText string
}
// NewSomething create new instance of Something
func NewSomething(text string) Something {
something := Something{}
something.Text = text
something.DefaultText = "default text"
return something
}
原文由 vodolaz095 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
6 回答6.9k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
2 回答879 阅读✓ 已解决
2 回答2.2k 阅读
来自 这篇文章:
这可以通过简单地使类型本身不被导出来完成。您可以导出函数 NewSomething 甚至字段 Text 和 DefaultText,但不要导出结构类型 something。