Go 語言基礎——package&依賴管理

依賴語法

/*
格式: import xxx/xxx/package值
注意根目錄是src
*/

//方式一:
import testting

//方式二: 能夠依賴多個包
import (
	"testing"
)

//方式三: 也能夠給package起個別名,直接用別名調用包的函數
import (
	t "testing"
)
  1. go的package相似於Java中的類名稱git

  2. 以首字母大寫來代表可被包外代碼訪問 (不在一個根目錄的子目錄下稱爲外包)github

    srcgolang

    ​ -dirc1網絡

    ​ - package name1ide

    ​ -dirc2函數

    ​ -package name2工具

    若是dirc1/package 值首字母小寫,那麼不能再dirc2目錄下引用name1code

  3. 代碼的package能夠和所在的目錄不一致get

  4. package 值和目錄沒有必然關係但同一目錄裏的Go代碼的package要保持一致it

依賴管理

經過go get來獲取遠程依賴,go get -u強制從網絡更新遠程依賴

示例: go get -u github.com/easierway/concurrent_map

若是要把代碼放到GitHub上,不要把scr目錄放到GitHub上,直接以代碼路徑開始,不要有src

vendor路徑

隨着Go 1.5 release版本的發佈, vendor目錄被添加到除了GOPATH和 GOROOT以外的依賴目錄查找的解決方案。在Go1.6以前,你須要手動的設置環境變量

查找依賴包路徑的解決方案以下:

1,當前包下的vendor目錄

2,向上級目錄查找,直到找到src下的vendor目錄

3,在GOPATH下面查找依賴包4.在GOROOT目錄下查找

go依賴管理的問題

1.同一環境下,不一樣項目使用同一包的不一樣版本

2,沒法管理對包的特定版本的依賴(不能選擇特定的版本)

經常使用的依賴管理工具

早期的: godep https://github.com/tools/godep

最經常使用的: glide https://aithub.com/Masterminds/qlide

最新的: dep https://github.com/golang/dep

相關文章
相關標籤/搜索