This commit is contained in:
Xargin
2016-10-10 15:17:50 +08:00
parent ef1d302ae6
commit 1a5593ac1c
9 changed files with 21 additions and 21 deletions

View File

@@ -21,6 +21,6 @@ func main() {
关于默认包名一般采用导入路径名的最后一段的约定也有三种例外情况。第一个例外包对应一个可执行程序也就是main包这时候main包本身的导入路径是无关紧要的。名字为main的包是给go build§10.7.3)构建命令一个信息,这个包编译完之后必须调用连接器生成一个可执行程序。
第二个例外,包所在的目录中可能有一些文件名是以``_test.go``为后缀的Go源文件译注前面必须有其它的字符因为以``_``前缀的源文件是被忽略并且这些源文件声明的包名也是以_test为后缀名的。这种目录可以包含两种包一种普通包一种则是测试的外部扩展包。所有以_test为后缀包名的测试外部扩展包都由go test命令独立编译普通包和测试的外部扩展包是相互独立的。测试的外部扩展包一般用来避免测试代码中的循环导入依赖具体细节我们将在11.2.4节中介绍。
第二个例外,包所在的目录中可能有一些文件名是以``_test.go``为后缀的Go源文件译注前面必须有其它的字符因为以`_`或`.`开头的源文件会被构建工具忽略),并且这些源文件声明的包名也是以`_test`为后缀名的。这种目录可以包含两种包:一种普通包,一种则是测试的外部扩展包。所有以`_test`为后缀包名的测试外部扩展包都由go test命令独立编译普通包和测试的外部扩展包是相互独立的。测试的外部扩展包一般用来避免测试代码中的循环导入依赖具体细节我们将在11.2.4节中介绍。
第三个例外,一些依赖版本号的管理工具会在导入路径后追加版本号信息,例如"gopkg.in/yaml.v2"。这种情况下包的名字并不包含版本号后缀而是yaml。