gopl-zh.github.com/ch10/ch10-02.md
2016-02-15 11:06:34 +08:00

1.4 KiB
Raw Blame History

10.2. 导入路径

每个包是由一个全局唯一的字符串所标识的导入路径定位。出现在import语句中的导入路径也是字符串。

import (
	"fmt"
	"math/rand"
	"encoding/json"

	"golang.org/x/net/html"

	"github.com/go-sql-driver/mysql"
)

就像我们在2.6.1节提到过的Go语言的规范并没有指明包的导入路径字符串的具体含义导入路径的具体含义是由构建工具来解释的。在本章我们将深入讨论Go语言工具箱的功能包括大家经常使用的构建测试等功能。当然也有第三方扩展的工具箱存在。例如Google公司内部的Go语言码农他们就使用内部的多语言构建系统译注Google公司使用的是类似Bazel的构建系统支持多种编程语言目前该构件系统还不能完整支持Windows环境用不同的规则来处理包名字和定位包用不同的规则来处理单元测试等等因为这样可以更紧密适配他们内部环境。

如果你计划分享或发布包那么导入路径最好是全球唯一的。为了避免冲突所有非标准库包的导入路径建议以所在组织的互联网域名为前缀而且这样也有利于包的检索。例如上面的import语句导入了Go团队维护的HTML解析器和一个流行的第三方维护的MySQL驱动。