主包中struct类型的名字的首字母的大小写

时间:2018-10-16 09:38:33

标签: go

因此,如果未导入,则应小写。从主包中导入某些东西很奇怪。但是,从其他语言的经验来看,在结构/类的第一个中使用小写字母对我来说似乎很奇怪。惯用什么方式?

1 个答案:

答案 0 :(得分:2)

这不是什么惯用语的问题,如果标识符以小写字母开头,则不会导出,因此只能从声明包中直接访问,并且标识符以大写字母开头(Unicode)类“ Lu”),则可以导出它,并且可以从任何包中引用它。有关详细信息,请参见Spec: Exported identifiers。这是我个人喜欢的设计决定(它使源保持整洁,并且“它们甚至具有语义影响:包外部名称的可见性取决于其首字符是否为大写字母” Effective Go: Names)。

main软件包是特殊的:您不能导入主软件包,因此如何在main软件包中命名标识符无关紧要,没有人(除了main)将引用它们/使用它们。

查看更多轻松的博客文章:

Go FAQ: What's up with Unicode identifiers?

Ardan labs: Exported / Unexported Identifiers In Go