为什么要设置GOROOT/GOPATH - Go语言中文社区

为什么要设置GOROOT/GOPATH


设置GOROOT的原因

编译器的位置指定的时候,需要指定GO开发包的安装位置,然后设置环境变量PATH的时候,需要指定到安装包下的bin目录,其中就有以下的编译/执行器.所以GOROOT指定了前面的路径.

 

 

 

当使用go  run  源码,自动化的完成编译和执行二进制文件的时候.源码必须放在当前运行go解释器的同一目录下,然后编译器才能访问的到.这时不用设置GOPATH.

当使用go build  源码,要先编译成二进制代码,再执行二进制代码的方式来运行程序.

 

 设置GOPATH的原因

从 Go 1.8 版本开始,Go 开发包在安装完成后,将 GOPATH 赋予了一个默认的目录

如果不使用工作目录的概念,在多人开发时,每个人有一套自己的目录结构,读取配置文件的位置不统一,输出的二进制运行文件也不统一,这样会导致开发的标准不统一,影响开发效率

 

工作空间中的内容:

GOPATH 下应有三个目录:

  • src :包含Go的源文件,它们被组织成包(每个目录都对应一个包)                 src 执行go install时候必须有,此外子目录为包.包中为源码.

  • pkg:包含包对象,也即编译好的库文件 *.a

  • bin:包含可执行命令    当执行go install时会自动生成二进制文件放到这里.

 

go install运行时跟src/bin/pkg关联.而go run/go build就不管工作目录了.只在当前目录下工作.

 

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/keystone/p/12917618.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-13 22:09:50
  • 阅读 ( 1101 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢