go 在安装之后会设置一个环境变量 GOPATH
通过 go env 命令可以查看,默认是 ~/go
go build,go install,go get 等命令执行时会从 GOPATH 目录下的 src 去查找源码。
例如,GOPATH 有如下目录:

src/hello/xx.go
  1. 编译时在任意目录下执行 go build hello 均可编译成功,目标文件放在当前目录下。
  2. 执行 go install hello 会将编译好的可执行文件安装到 GOPATH/bin
  3. 执行 go get pkgname 会将包安装到 GOPATH/src 下。
  4. GOPATH/pkg 下存放的是编译过程中的文件。

对于单个 go 文件,没有外部依赖,可以在任何路径下执行。例如

$go build hello.go
$go run hello.go
$go install hello.go

我们在做项目时可以设置自己的 GOPATH 环境变量,这个环境变量的概念类似于 python 的虚拟环境。

go 之 GOPATH相关推荐

  1. GOROOT、GOPATH

    GOROOT就是go的安装路径 在~/.bash_profile中添加下面语句: GOROOT=/usr/local/go export GOROOT 当然, 要执行go命令和go工具, 就要配置go ...

  2. go环境变量配置 (GOROOT和GOPATH)

    GOROOT就是go的安装路径 在~/.bash_profile中添加下面语句: GOROOT=/usr/local/go export GOROOT 当然, 要执行go命令和go工具, 就要配置go ...

  3. goland设置goroot_解决GOPATH在GOLAND中的坑

    首先我的环境已配置好: GO的目录结构是: add.go package calc //函数名必须大写首字母,不然外部包找不到 func Add(a int,b int)(int){ return a ...

  4. go build不从本地gopath获取_Go包管理GOPATH、vendor、go mod机制

    简介 Golang 作为开源编程语言,在 2012 年编程语言 Go 1 发布之后,一直在不断发展,并伴随着云原生而广泛进入各大公司. 在互联网发展至今,软件系统不断膨胀. 各个编程语言也都逐步支持了 ...

  5. goland/go语言项目--本地包的导入(将项目添加至GOPATH中)(基于macOS)

    goland/go语言项目–本地包的导入(将项目添加至GOPATH中)(macOS) 1. 创建项目 首先,在桌面上创建一个文件夹G0Project,从而创建项目. //利用go mod进行初始化项目 ...

  6. 【GoLang】GoLang GOPATH 工程管理 最佳实践

    参考资料: MAC下 Intellij IDEA GO语言插件安装及简单案例:http://blog.csdn.net/fenglailea/article/details/53054502 关于wi ...

  7. golang go get 命令行安装库 报错 go: cannot use path@version syntax in GOPATH mode 解决方法

    go mod作为官方的依赖管理工具,类似于maven这种本地缓存库的管理方式,其主要是通过GOPATH/pkg/mod下的缓存包来对工程进行构建. 问题: 执行go get github.com/go ...

  8. golang goland报错错误 $GOPATH/go.mod exists but should not 解决方法

    问题描述:$GOPATH/go.mod exists but should not 产生原因:开启模块支持后,并不能与$GOPATH共存,所以把项目从$GOPATH中移出即可 具体解决方法如下(针对g ...

  9. goland 设置project gopath

    用goland打开别人的go项目.可能碰到下面的问题goland cannot find package "server/common/config" in any of: 这是因 ...

  10. Golang学习之GOROOT、PATH、GOPATH及go get

    1. GOROOT GOPATH 及 PATH 设置 a.添加系统变量GOROOT:安装完Go第一件事就是设置GOROOT.例如我的Go安装在C:\Go目录,则要设置 GOROOT = C:\Go b ...

最新文章

  1. ROS上同时预览depth,IR,RGB 调试记录
  2. 第二章 向量(a)接口与实现
  3. 世界编程大赛一等奖作品(转载)
  4. Ubuntu安装Chrome最新版
  5. 台湾一校长震动所有中国人的演讲
  6. 正则表达式匹配C++代码实现
  7. 收集Java 性能优化的44个建议
  8. C++11范围for循环
  9. Linux——Ubuntu安装Fcitx以及Fcitx输入中文不显示候选词框的解决办法
  10. linux下安装mysql数据库
  11. 我有一朋友生意做的红红火火
  12. java中的对象传递
  13. Canvas 画时钟
  14. win7共享xp打印机_打印机共享那些事儿……
  15. Visio 使用心得
  16. mysql规格单位转化_存储单位的换算(KB, MB, GB)
  17. 全国各主要省市经纬度
  18. [深入理解Android卷一全文-第六章]深入理解Binder
  19. 反证法与归谬法的区别
  20. 主流互联网开发平台一览

热门文章

  1. python多个分隔符分割字符串_Python之使用多个分割符分割字符
  2. 2021年电子信息企业必备资质清单
  3. myEclipse如何打开与关闭快速导航栏
  4. 平方数 (sdut oj)
  5. js替换html中的字符串,js怎么替换字符串?
  6. 多个着色器与多个VAO,VBO绘制三角形
  7. 【应用层1】Http简史
  8. 什么是系统进程和用户进程?
  9. python timedelta对象_python timedelta函数是什么?
  10. 关于家纺的就业前景及行业分析