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

时间:2016-01-26 12:44:43

标签: go naming-conventions

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

为了避免导出,我开始使用undercsore为类型名称添加前缀,而不是在第一个字母的下面添加下限。

E.g:而不是 type Column struct{},我使用type _Column struct{}来避免导出。

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

由于golint毫无怨言地接受了它,我想这可以吗?

结论:根据答案和评论,我决定继续使用较低类型的名称。

2 个答案:

答案 0 :(得分:5)

我建议使用column优先于_Column,因为标准库使用的样式遵循该命名约定。

这在Names section of the style guide中并不明确,但基于通常不鼓励使用下划线的事实,我会说使用_Column充其量不是惯用的。

答案 1 :(得分:1)

“我喜欢”并且不要超级混合。

有惯用位和工具强制位。

坚持标准的社区使得代码库易于被其他人阅读和理解。

我发现这是go的最佳属性之一。

当然,频道和goroutines很不错 轻松阅读代码库通常更有价值。