背景

移植完了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. selenium webdriver 操作RadioButton

      @Test public void testRadio() { WebDriver driver = ExplorerBase.IESetting(); try { Thread.sleep(500) ...

    2. ab的压力测试(转)

      其中-n代表请求数,-c代表并发数 返回结果: ##首先是apache的版本信息 This is ApacheBench, Version 2.3 <Revision:655654> Co ...

    3. 4 htmlCSS&图像&表格&列表&表单&框架&颜色

      CSS: Cascading Style Sheeet   层叠样式表  cascadig:瀑布 html:网页的结构 css:网页的外观 JavaScript:网页的动作 CSS的使用方式: 内联样 ...

    4. 【原】php中fastcgi和php-fpm是什么东西

      fastcgi 是一个与平台无关,与语言无关,任何语言只要按照它的接口来实现,就能实现自己语言的fastcgi能力和web server 通讯. PHP-CGI就是PHP实现的自带的FastCGI管理 ...

    5. 认识gets&read(buffer over flow is bof)

      gets不会检查输入的长度,从而有数据覆盖的风险,

    6. 学习笔记(14)- SQuAD的数据格式

      BERT模型完成问答任务的时候,需要数据格式为SQuAD形式. 有2个版本,1.1和2.0

    7. 该怎样应对IoT和边缘计算安全挑战

      导读 虽然智能家居的响应延迟似乎不是大问题,但如果自动驾驶汽车需要刹车,而数据出现延迟或者被黑客拦截或操纵,这可能造成灾难性后果.这里将需要边缘计算安全. 边缘计算可在靠近远程设备的位置提供计算.存储 ...

    8. STM32 RTC上的唤醒和闹钟

      RTC很简单只要给备用电,RTC就会不停,可以进行设置和读时间.同时在RTC上也涉及了闹钟(EXTI_17:RTC_FLAG_ALRAF,相当于RTC的定时器,闹钟到了之后进行异步操作)和唤醒中断(低 ...

    9. luogu P4014 分配问题

      简单的费用流问题,每个人对每个任务连边,每个任务对汇点连,源点对每个人连,最大费用取反即可 #include<bits/stdc++.h> using namespace std; #de ...

    10. iOS应用的语言设置

      首先需要明确两个名词的区别:“当前手机的系统语言”.“应用内部的语言设置” 要解决的问题的情景: 在iOS应用中,有时候会调用系统的一些UI控件,例如: 1.在UIWebView中长按会弹出系统的上下 ...