在每个go文件的开头,都必须首先写package <name>,指定包名没有问题,我的问题是:
Q:一个路径下的所有go文件属于一个Package(不递归),那直接用这个文件夹的名字作为Package Name不就行了?
A:一般来说,Package Name和文件夹名统一确实比较好,但是有些时候Package Name需要是main,这个时候就和文件夹名称不一样了,所以需要用手动指定Package Name的方式让我们选择是否将Package Name设定为main。
Q:一个Package内部的所有go文件需要使用相同的Package Name,每个文件里面都要写一遍,不麻烦吗?不容易写错吗?
A:上面我们已经分析了,为什么需要手动写明Package Name,那么这个Name写在哪里好呢?如果只想写一遍的话,写在某个特殊命名的文件里(比如package_main.go)?或者写在目录下的某个配置文件里(比如package_config.json)?这两种方式恐怕更加不优雅吧。
理智地想一想,确实更简单了(没有权限控制符号),命名更规范了,接受这种受束缚的感觉吧…