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

依賴語法

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

//方式一:
import testting

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

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

  2. 以首字母大寫來代表可被包外代碼訪問 (不在同一個src子目錄,那麼就稱它爲外包)github

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

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

依賴管理

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

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

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

vendor路徑

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

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

1,當前包下的vendor目錄it

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

相關文章
相關標籤/搜索