GOPATH

作者: 岛在深海处 | 来源:发表于2019-03-28 10:17 被阅读0次

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


image.png

在Jetbrains 公司的 GoLand 集成开发环境(IDE)中GOPATH分两种:
1、Global GOPATH
2、Project GOPATH

Global GOPATH与Project GOPATH 都代表项目所使用的 GOPATH,该设置会被保存在工作目录的 .idea 目录下,不会被设置到环境变量的 GOPATH 中,但会在编译时使用到这个目录。建议在开发时只填写项目 GOPATH,每一个项目尽量只设置一个 GOPATH,不使用多个 GOPATH 和全局的 GOPATH。

在IDE中如果这两个都不设置,那默认会选择GOPATH的环境变量,也就是安装Go时GOPATH被赋予的默认目录。

设置GOPATH后,工程中使用import的根目录是GOPATH中的src目录
如果GOPATH为/Users/cheny/myproject/go ,工程为/Users/cheny/myproject/go/src/MyGoProject
那么MyGoProject中使用import导入本地包的时候就是这样

import "MyGoProject/myLibs"  // myLibs为包名

也就是说GOPATH下必须要有src目录,不然import导包的时候会找不到
import导包规则: 先去GOROOT/src/路径下找
/usr/local/go/src/myLibs (from $GOROOT)

如果没有就去Project GOPATH/src/路径下找
/Users/cheny/myproject/go/src/myLibs (from $GOPATH)

如果还没找到就去Global GOPATH下面找(当然前提是你需要设置了Global GOPATH)

在IDE中创建项目的时候有个index entire GOPATH选择框,如果勾选了,那所有GOPATH中的src文件夹所包含的内容都会通过依赖包的形式引入并显示出来(如果不勾选GOPATH也会被引入),如下图所示

image.png

相关文章

  • GO

    GOPATH go命令依赖于GOPATH,但是GOPATH跟JAVA_HOME不一样,GOPATH是一个工作目录,...

  • GOPATH

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

  • Ubuntu Golang 环境配置

    export GOPATH= export GOBIN=$GOPATH/bin export GOROOT=/us...

  • go语言基础

    设置 GOPATH 有什么意义? 工作区和 GOPATH 是go程序开发的核心概念。环境变量 GOPATH 的值可...

  • Golang初学者的踩坑之旅

    GOROOT与GOPATH 重点说一下这个GOPATH,可以设置为任意路径,例如我设置为GOPATH=C:\Use...

  • 十条有用的 GO 技术

    1. 使用单一的 GOPATH 多个 GOPATH 的情况并不具有弹性。GOPATH 本身就是高度自我完备的(通过...

  • mips架构上安装prometheus

    1、安装go环境,并且配置好GOPATH 2、$ mkdir -p $GOPATH/src/github.com/...

  • golang-101-hacks(4)——go build”和

    查看当前$GOPATH目录结构,只展开src源码目录Let's tidy up the$GOPATH direct...

  • GOPATH相关

    目录内容 /src/pkg/bin 关于go get命令 使用go get命令时常见错误: exec: "hg":...

  • 设置GOPATH

    使用go语言开发, 环境变量GOPATH的设置是第一步, 我们可以指定一个自己常用的目录, 我个人喜欢使用 /us...

网友评论

      本文标题:GOPATH

      本文链接:https://www.haomeiwen.com/subject/khfxbqtx.html