Go 语言基础——package&依赖管理

依赖语法
/*
格式: import xxx/xxx/package值
注意根目录是src
*/

//方式一:
import testting

//方式二: 可以依赖多个包
import (
	"testing"
)

//方式三: 也可以给package起个别名,直接用别名调用包的函数
import (
	t "testing"
)

  1. go的package类似于Java中的类名称

  2. 以首字母大写来表明可被包外代码访问 (不在一个根目录的子目录下称为外包)

    src

    ​ -dirc1

    ​ - package name1

    ​ -dirc2

    ​ -package name2

    如果dirc1/package 值首字母小写,那么不能再dirc2目录下引用name1

  3. 代码的package可以和所在的目录不一致

  4. package 值和目录没有必然关系但同一目录里的Go代码的package要保持一致

依赖管理

通过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

转载于:https://my.oschina.net/u/3767459/blog/3094302

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值