前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习Go语言-GOPATH有多工作区的问题

学习Go语言-GOPATH有多工作区的问题

原创
作者头像
jerryteng
修改2018-09-14 19:21:05
2.9K0
修改2018-09-14 19:21:05
举报
文章被收录于专栏:jerryteng的专栏jerryteng的专栏
下载.png
下载.png

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

例如 a 依赖 b ,b依赖c

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

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

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

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

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

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

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

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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如果GOPATH设置了多个工作区,那么查找依赖包时是以怎样的顺序进行的?
  • 如果多个工作区中存在导入路径相同的代码包会产生冲突吗?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档