【发布时间】:2015-11-19 09:57:39
【问题描述】:
在 go 中构建一个简单的对象时,这些替代方案有什么区别?
func NewGender(value string) Gender {
return Gender{strings.TrimSpace(value)}
}
func NewGender(value string) *Gender {
return &Gender{strings.TrimSpace(value)}
}
【问题讨论】:
-
如果您将
*Gender传递给其他代码,它可以更改它。Gender并非如此。 -
问题并不完全相同,我认为@Ainar-G 的答案比接受的试探性副本要好
-
链接到我解释过的地方stackoverflow.com/a/60840366/8952645
标签: go constructor pass-by-value