猿问

Go 中未导出类型名称的命名约定

我喜欢使用 Pascal 大小写命名我的类型 - 以大写字母开头。在 Go 中,这意味着名称已导出。

为了避免导出,我开始在类型名称前加上 undercsore 而不是小写首字母。

例如:代替 type Column struct{},我type _Column struct{}用来避免导出。

我还没有看到使用这种命名方案,但也没有找到任何不使用它的理由。

既然golint毫无怨言地接受了,我想这可以吗?

结论:根据答案和评论,我决定使用小写类型名称。


蓝山帝景
浏览 149回答 2
2回答

沧海一幻觉

我建议column优先_Column使用 ,因为标准库使用的样式遵循该命名约定。这在样式指南的Names 部分没有明确说明,但基于通常不鼓励使用下划线的事实,我认为使用_Column充其量不是惯用的。

千万里不及你

“我喜欢”然后去不要超级混合。有惯用位和工具强制位。坚持标准的社区使得代码库易于他人阅读和理解。我发现这是 go 的最佳属性之一。当然,通道和 goroutine 很好。能够轻松阅读代码库通常更有价值。
随时随地看视频慕课网APP

相关分类

Go
我要回答