本文最初发表在我的个人博客,查看原文,获得更好的阅读体验
和其他语言一样,在Go中,命名非常重要,甚至还有语义效果:一个名称在包外是否可见,取决于它的首字母是否大写。在导入一个包后,你只能引用其中已导出的名字。任何“未导出”的名字在该包外均无法访问。
一 包名
包名可以作为包内容的访问器。包名应该尽量简单,好记。按照约定,所有包名使用小写字母,且使用单个单词表示,不需要使用下划线或大小写混合的方式(驼峰命名)。另外,包名只是默认导入的名称,不需要在所有的源代码中唯一,少数情况下,如果有必要,还可以在本地对包重命名使用。
按照Go的约定,我们一般习惯将包名与导入路径的最后一个元素保持一致。
在Go语言中,有用的文档注释通常比超长的名称更有价值。
声明包时,包名不能是空白标识符。
二 包的导入声明
语法:
import ["." | PackageName] ImportPath
PackageName 包名(可选)
ImportPath 导入路径(必须)
如果省略包名,则默认为导入包的package子句中指定的标识符(导入路径的最后一个元素&#