徐善通的随笔

千里之行, 始于足下



go语言GOPATH GOROOT作用和设置


GOPATH 和 GOROOT

不同于其他语言,go中没有项目的说法,只有包, 其中有两个重要的路径,GOROOTGOPATH
GOROOT是安装目录,GOPATH是我们的工作空间, 用来存放包的目录

GOPATH可以设置多个,其中,第一个将会是默认的包目录,使用 go get 下载的包都会在第一个path中的src目录下,使用 go install时,在哪个GOPATH中找到了这个包,就会在哪个GOPATH下的bin目录生成可执行文件

修改 GOPATH 和 GOROOT

安装的时候如果没有更改设置,默认的GOROOT是在 C:\Go中,而 GOPATH会是在 C:\users\youName\go,

如果我们更改了go的安装位置,那么可以需要设置一下GOROOT 环境变量了

打开环境变量设置,查看下面的系统变量,如果有 GOROOT这个选项的话,查看是否需要更改,没有的话,新建一个就可以了,如图:

同理,如果我们想在加一个工作空间的话,直接更改 GOPATH就可以了, go安装的时候会在上面的用户变量中添加GOPATH, 如果没有的话像上一步一样新建就可以了,多个目录使用 ; 分号隔开
在这里插入图片描述

不管是可执行包,还是非可执行包,通通都应该在某个 $GOPATH/src下。如果你这样做了,那么就不会出现本地包这种写法了

import "./path/package"

比如你可以把你的可执行(项目)包,安放在某个 $GOPATH/src下,例如 $GOPATH/src/app/youpackagedir

这样本地包的import就变成

import "app/yourpackagedir/subpackage"

这样有什么用呢?

  1. 可以使用 go install 你的子包,有利于go build的时间,如果子包较大,那就更明显了
  2. go code的自动完成可以用了

修改完以后需要重启 命令行工具, cmd/powershell/gitbash/Other,不重启不会生效的

最后一点参考:https://my.oschina.net/achun/blog/134002


作者: 徐善通
地址: https://www.xstnet.com/article-94.html
声明: 除非本文有注明出处,否则转载请注明本文地址


我有话说



最新回复


正在加载中....

Copyrights © 2016-2019 醉丶春风 , All rights reserved. 皖ICP备15015582号-1