golang 第三方包的使用總結

golang 第三方包的安裝的方法:

1. go get 安裝

# 好比要安裝 "github.com/gin-gonic/gin"
$ go get github.com/gin-gonic/gin
  • 注意:執行go get 命令須要先安裝git命令,並配置git全局變量。

2. 源碼包安裝

因爲國內網絡問題,不少時候go get命令並不能安裝,因此就須要手動下載源碼包,而後拷貝到$GOPATH/sr/ 目錄下html

# 好比要安裝"github.com/golang/protobuf/proto"
# 去github.com/golang/protobuf下載源碼包,
# 拷貝到 $GOPATH/src/github.com/golang/protobuf

$ cd $GOPATH/src/github.com/golang/protobuf
$ go install
  • 注意:第三包安裝完成後,應用程序導入包時仍是使用的源碼,而非 $GOPATH/pkg/ 下的 .a文件。如何能像標準包fmt同樣直接使用pkg,還需進一步研究。
  • 注意:上面直接寫的$GOPATH,在 GOPATH 只有一個目錄的時候能夠這樣寫,按tab鍵就會自動切換爲實際目錄,若是 GOPATH 配置了多個目錄則要輸入具體的目錄。

golang 使用第三方包

使用方式

在應用程序中直接impor便可git

// 好比要使用  "github.com/gin-gonic/gin"
import "github.com/gin-gonic/gin"
  • 注意:GO 和Java 不一樣的是:全部import的包必須在%GOPATH路徑下,若是直接導入源碼路徑下的包,編譯會報錯。由於GO只會在$GOPATH 下找包的依賴,而不會在當前工程下找。

golang 增長環境變量

不少時候咱們並不但願本身的工程代碼和下載的第三方包代碼混在一塊兒,這時候就想本身建一個目錄,可是咱們知道,執行go install 的時候,必須在 $GOPATH 路徑下,因此咱們要將本身的本身新建的目錄加入到$GOPATH中。好比我在/home/jerry/go/ 下面建了src/ 目錄,裏面放的是我本身寫的包 myMax/myMax.gogithub

# 使用 vim 打開 ~/.bash 文件
$ vim ~/.bash
# 在裏面添加剛纔本身新建的工做目錄
export GOPATH=$GOPATH:/home/jerry/go/
# 退出 vim 並讓更改當即生效
$ source ~/.bash
# 安裝本身的包, 發現不會報錯了
$ cd ~/go/src/myMax/
$ go install

包管理工具 govendor 的安裝

按照上面的方法按照,安裝完之後再$GOPATH/bin/目錄下就可看到有一個govendor文件golang

$ ll ~/workspace/bin/
-rwxrwxr-x 1 jerry jerry 13146288 Jul 23 04:44 govendor*
# 將govendor 添加到環境變量
$ vim ~/.bash
# 在vim文件中添加
export PATH=$PATH:/home/jerry/workspace/bin/
$ source ~/.bash

govendor 的使用

進過前面的配置,咱們如今已經能夠在本身的目錄下使用govendor命令了。json

$ cd ~/go/src/myMax/
# 生成vendor目錄,生成vendor.jso
$ govendor init
$ cat vendor/vendor.json 
{
	"comment": "",
	"ignore": "test",
	"package": [],
	"rootPath": "myMax"
}

添加依賴包到vendor目錄下vim

# govendor add +e 也能夠
$ govendor add +external

理解golang包導入

http://www.javashuo.com/article/p-gyisrsis-bg.htmlbash

  1. 在使用第三方包的時候,其實是連接了以該最新源碼編譯的臨時目錄下的.a文件。
  2. import後面的最後一個元素應該是路徑,就是目錄,並不是包名。
  3. fmt.Println()中的fmt則是包名。
  4. import m "lib/math" 中的m是包名。
相關文章
相關標籤/搜索