go语言配置gopath go语言配置文件加密

go语言设置时GOPATH和GOROOT有什么区别

可以简单理解为:

创新互联公司是一家专业提供安居企业网站建设,专注与网站建设、成都网站建设、H5高端网站建设、小程序制作等业务。10年已为安居众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

$GOPATH 是go的工程目录

/home/guest/gocode

├── bin

├── pkg

└── src

$GOROOT 是go的安装目录

/home/guest/tools/go

├── api

├─唤搏链─ AUTHORS

├── bin

├── blog

├── CONTRIBUTING.md

├── CONTRIBUTORS

├── doc

├── favicon.ico

├── lib

├── LICENSE

├── misc

├── PATENTS

├和孙── pkg

├──银羡 README.md

├── robots.txt

├── src

├── test

└── VERSION

golang的 GOPATH和vendor的搜索关系

golang的 GOPATH和vendor的搜索关系

项目只有一个包,即main包,没有引用其他的包(golang自带的系统包除外)。

然后设置GOPATH=path/to/goproject,再运行go build myproject,这样就可以在任何目录下脊坦面编译,编译生成的可执行文件就在编译所在的目录下,而不是包源文件所在的目录。

基本规则:

鉴于此,建议golang项目必须严格按照规范的目录结构组织,哪怕是前面这种自包含的项目。

基本规则:

如果一个包在vendor和GOPATH下面都存在那么谁会优先使用呢。

结论是:

包mydeps在vendor目录下面和GOPATH路径下面都存在了,那么main.go引用的时候只会引用vendor下面的mydeps(src/myproject/vendor/mydeps),而忽略GOPATH下面的mydeps包(src/mydeps)。李或

前面提到GOPATH和PATH类似,可以包含多个路径,中间用分号隔开,go在搜索包的时候会按手续从前往后搜搜。樱扰桐那么vendor怎么处理层级关系呢。

规则是:

举例:

如果src/mydep/mydep1/mydep.go引用了myvendor1和myvendor,那是怎么搜索的呢

4.1 Go语言中包(Packages)基础知识

先看一下目录结构,注银伍意这里的src名称是必须的,go在设置了GOPATH后,默认会添加src去寻找package,暂未查询是否有方法不按照src查询

根据上面的描述,Go语言中通过包中函数的名称来区分公共函数和私有函数,我们在main函数中是无法调用myPrivateFunc的

此时如果执行通过go run方式执行,会看到如下的提示信息,这与大部分语言对于包管理方式相关,所以我们通过两种不同的方法来让代码执行起来

返回如下,这里面对我们后续御搏培执行有影响的两个参数GO111MODULE和GOPATH

如果要使用gopath模式引用包,则需要关闭mod模式

设置GOPATH为当前路径,即main.go所在的路径

此时再查看go env时,GOPATH已经发生改变

我们再次尝试执镇唯行代码

可以看到public函数被调用


网站栏目:go语言配置gopath go语言配置文件加密
浏览路径:http://ybzwz.com/article/ddpicoi.html