GO(1):GoLand GOPATH和GOROOT详解

本文所涉及代码路径:https://gitee.com/rockywish/go/tree/master/gopath

一、GOPATH的作用

  1. 第一方:当前工程,第二方:SDK,除此以外的就是第三方
  2. 存放SDK以外的第三方类库、可以是下载的第三方类库
  3. 也可以是自己收藏的可复用代码

二、配置路径:
window:File->Setting->Go->GOPATH
mac:Preferences->Go->GOPATH
GO(1):GoLand GOPATH和GOROOT详解
点击Project GOPATH下面的+号选择包的路径即可

三、GOPATH包的目录结构

  1. GOPATH目录可以允许有多个
  2. 每个GOPATH目录必须有一个src目录。说明:图一引用的包和文件路径如下图二所示
  3. src目录下的文件夹名称就是引用时的包名
    GO(1):GoLand GOPATH和GOROOT详解

四、举例
GO(1):GoLand GOPATH和GOROOT详解
说明:

  • 可以看到ide左边的GOPATH目录结构就是图二包结构
  • gopath.go文件引入图二定义的eat包
  • eat.Bread() 调用设置的GOPATH下面的包
  • 运行之后大家可以看到输出结果就是eat包下面的Bread方法打印的信息

重点:上述实例成功运行的前提

  • GOPATH目录之一下存在路径/src/eat
  • eat目录下的某个go源文件中有函数定义 :func Bread

五、GOPATH和GOROOT

GOPATH GOROOT
范围 只有当前工程可用 所有工程可用
设置 ide配置 可以通过设置GOPATH环境变量的方式配置和ide配置