背景

移植完了go以后,在配置变量的时候不太清楚这些变量的含义,找了有关的资料。

使用 go env可以获取 go 有关的环境变量,下面是我的go环境:

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/schips/.cache/go-build"
GOENV="/home/schips/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/schips/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/schips/host/go/install/go_arm"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/schips/host/go/install/go_arm/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="0"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build637868665=/tmp/go-build -gno-record-gcc-switches"

GOPATH

go 命令依赖一个重要的环境变量:$GOPATH

GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号`;

当有多个GOPATH时默认将go get获取的包存放在第一个目录下。

GOPATH 目录约定有三个子目录

  • src存放源代码(比如:.go .c .h .s等) 按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
  • pkg编译时生成的中间文件(比如:.a)  golang编译包时
  • bin编译后生成的可执行文件(为了方便,可以把此目录加入到 \(PATH 变量中,如果有多个gopath,那么使用`\){GOPATH//

    Golang:GOROOT、GOPATH、GOBIN变量的含义的更多相关文章

    1. GOROOT,GOPATH,GOBIN,project

      GOROOT,GOPATH,GOBIN,project目录   我们接下来一个一个来看关于Go语言中的三个目录的详细解释先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) ...

    2. 初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录

      我们接下来一个一个来看关于Go语言中的三个目录的详细解释先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) localhost:~ zhaofan$ go env GOA ...

    3. 搞明白GOROOT,GOPATH,GOBIN,project目录

      我们接下来一个一个来看关于Go语言中的三个目录的详细解释先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) localhost:~ zhaofan$ go env GOA ...

    4. go环境变量配置 (GOROOT和GOPATH)的区别和含义

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

    5. [Golang] GOROOT、GOPATH和Project目录说明

      go env环境查看 用go env 可查看当前go环境变量. $ go env GOARCH="amd64" GOBIN="" GOEXE="&qu ...

    6. gopath环境变量设置

      #在国内镜像下载二进制包 wget -c  http://www.golangtc.com/static/go/go1.4.1.linux-amd64.tar.gz tar -C /usr/local ...

    7. iReport默认参数和变量的含义解析【转】

      iReport默认参数和变量的含义解析[转] http://uule.iteye.com/blog/775338 参考:http://blog.csdn.net/terryzero/article/d ...

    8. python __name__ 变量的含义

      python __name__ 变量的含义 if __name__ == '__main__': tf.app.run() 当python读入程序时,会初始化一些系统变量.如果当前程序是主程序,__n ...

    9. linux --> Linux变量之$#, $*, $@含义

      Linux变量之$#, $*, $@含义 一.介绍 $# //是传给脚本的参数个数 $ //是脚本本身的名字 $1 //是传递给该shell脚本的第一个参数 $ //是传递给该shell脚本的第二个参 ...

    随机推荐

    1. 洛谷 P2925 [USACO08DEC]干草出售Hay For Sale

      嗯... 题目链接:https://www.luogu.org/problemnew/show/P2925 这是一道简单的01背包问题,但是按照正常的01背包来做会TLE一个点,所以要加一个特判(见代 ...

    2. 「AT2381 [AGC015C] Nuske vs Phantom Thnook」

      题目大意 给出一个01矩阵,这个矩阵有一个特殊的性质: 对于任意两个 \(1\) 之间最多只有 \(1\) 条由 \(1\) 构成的路径.每次询问给出一个矩形范围,查询在这个范围内的联通快个数. 分析 ...

    3. 大数据篇:MapReduce

      MapReduce MapReduce是什么? MapReduce源自于Google发表于2004年12月的MapReduce论文,是面向大数据并行处理的计算模型.框架和平台,而Hadoop MapR ...

    4. TortoiseGit 安装与配置

      2. TortoiseGit安装与配置 标签: TortoiseGit安装配置Windows 2014-12-01 15:25 135739人阅读 评论(10) 收藏 举报 .embody{ padd ...

    5. nginx 加工上游服务器返回的内容,并返回给客户端

      禁用上游响应头部功能 Syntax: proxy_ignore_headers field ...; Default: — Context: http, server, location 功能介绍:某 ...

    6. 2019年5月6日A股两百点暴跌行情思考

      原因:特朗普推特发布贸易战消息 盘面:跳空低开,单边下跌,上证指数最大跌幅200点,收盘千股跌停 操作:开盘加仓,盘中加仓,尾盘满仓 总结: 特大黑天鹅事件爆发引发大盘暴跌时,后续必将迎来一个反弹机会 ...

    7. tomcat中servlet冲突问题

      在启动tomcat以后,控制台发现“Offending class: javax/servlet/Servlet.class”信息: 信息: validateJarFile(E:\code\MyApp ...

    8. mysql MVCC 实现原理

      MVCC( Multi-Version Concurrency Controll) 每一行都存储了事件发生时的系统版本号(System Version Number),用来替代事件实际发生的时间.每一 ...

    9. 跳转连接转base64

      //配置H5连接 @Value("${h5.domain}") private String h5Domain; // 校验商家端权限 public String checkSta ...

    10. Redis的安装配置及简单集群部署

      最近针对中铁一局项目,跟事业部讨论之后需要我们的KF平台能够接入一些开源的数据库,于是这两天研究了一下Redis的原理. 1. Redis的数据存储原理及简述 1.1Redis简述 Redis是一个基 ...