GOPATH有多工作区的问题

https://cloud.tencent.com/developer/article/1339789

如果GOPATH设置了多个工作区,那么查找依赖包时是以怎样的顺序进行的?

例如 a 依赖 b ,b依赖c

那么 会先查找c包,那在工作区是如何查找这个依赖包c的呢?

首先在查找依赖包的时候,总是会先查找 GOROOT目录,也就是go语言的安装目录,如果没有找到依赖的包,才到工作区去找相应的包。

在工作区中是按照设置的先后顺序来查找的,也就是会从第一个开始,依次查找,如果找到就不再继续查找,如果没有找到,就报错了。

go get 会下载代码包到src目录,但是只会下载到第一个工作区目录。

在Go语言程序中,每个包都有一个全局唯一的导入路径。导入语句中类似"github.com/xxxx/tem"的字符串对应包的导入路径。

Go语言的规范并没有定义这些字符串的具体含义或包来自哪里,它们是由构建工具来解释的。

一个导入路径代表一个目录中的一个或多个Go源文件。

除了包的导入路径,每个包还有一个包名,包名一般是短小的名字(并不要求包名是唯一的),包名在包的声明处指定。

如果多个工作区中存在导入路径相同的代码包会产生冲突吗?

不冲突,因为按顺序找到所需要的包就不往后找了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值