为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
蓝山帝景 2021-12-07 16:08:04
我喜欢使用 Pascal 大小写命名我的类型 - 以大写字母开头。在 Go 中,这意味着名称已导出。为了避免导出,我开始在类型名称前加上 undercsore 而不是小写首字母。例如:代替 type Column struct{},我type _Column struct{}用来避免导出。我还没有看到使用这种命名方案,但也没有找到任何不使用它的理由。既然golint毫无怨言地接受了,我想这可以吗?结论:根据答案和评论,我决定使用小写类型名称。
查看完整描述

2 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

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

在样式指南Names 部分没有明确说明,但基于通常不鼓励使用下划线的事实,我认为使用_Column充其量不是惯用的。


查看完整回答
反对 回复 2021-12-07
?
千万里不及你

TA贡献1784条经验 获得超9个赞

“我喜欢”然后去不要超级混合。

有惯用位和工具强制位。

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

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

当然,通道和 goroutine 很好。
能够轻松阅读代码库通常更有价值。



查看完整回答
反对 回复 2021-12-07
  • 2 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信