Golang环境变量解释

GOROOT、GOPATH、项目目录,之间关系
  • GOROOT
    • golangd 安装目录
  • GOPATH
    • 官方解释很模糊,可以google看看
    • go get 安装插件存放的地方
  • 项目目录
    • project
    • 这里面一般都是我们的项目代码
    • 正常配置的时候,安装完golang之后,cmd执行go env看系统配置
    • 1、GOROOT一般都不用重新配置,用系统默认的就可以
    • 2、GOPATH,这个就和项目有点关系了。
很多项目设置结构
  • project
  • src
    • 扩展1
    • 扩展2
    • 插件1
    • 插件2
  • 但是GO里不是这样,他的作用范围是GOPATH包含Project
  • 目录结构:

    • GOPATH
    • SRC
    • github
    • pkg
    • ....
    • 项目1
    • 项目2
    • 项目3
    • ……
  • 从上面可以理解.gopaht其实就是指一个项目,当是一个gopath可以包含多个项目。

例如:GOPATH:D:\Project

我们执行安装插件命令go get xxx
那么会在D:\Project产生一个 src -> xxxx

  • 这时候如果我们把项目1放到和src平级,那么就无法调用到。golang里有package,他不会去找到src下面的,只要平级的子级去寻找
    所以:
    • src
    • xxx1
    • xxx2
    • 项目1
    • 项目2
  • 这时候如果使用xxx1插件,会发现应用不到,或者其它问题。package not found等
  • 所以,我们需要把项目移动到src里与go get安装在同一个目录里。
  • 正常运行的目录结构:
    • 项目1(GOPATH 目录)
    • src(go get 插件目录)
    • 安装的插件(文件夹)
    • 项目源码(文件夹)
    • 其它项目(文件夹)
      IDE打开时候,也是指向到src目录里的项目源码目录即可。 GOPATH可以设置多个,用;分……

郝先生

继续阅读此作者的更多文章