gopl-zh.github.com/ch10/ch10-02.md

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驅動。