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是包名。
相关文章
相关标签/搜索