GOROOT

golang安装路径。

GOPATH

GOPATH可以设置多个工程目录,linux下用冒号分隔(必须用冒号,fish shell的空格分割会出错),windows下用分号分隔,但是go get 只会下载pkg到第一个目录,但是编译的时候会搜索所有的目录。

在fish shell下,使用 set -x GOPATH  PATH1:PATH2:PATH3 来设置,不能使用 set -x GOPATH  PATH1 PATH2 PATH3, 这一点确实很特殊。

具体用途:go命令常常需要用到的,如go run,go install, go get等。允许设置多个路径,和各个系统环境多路径设置一样,windows用“;”,linux(mac)用“:”分隔。

当存在多个路径时,会优先采用第一个路径。

GOBIN

go install编译存放路径。不允许设置多个路径。可以不设置(而且建议不设置。注意 不设置不是说设置为空, export GOBIN= 就是设置为空,不建议这么做,  fish shell 的 set -x GOBIN 也是设置为空。为了保险起见,推荐直接显式的使用 unset GOBIN 或 set -e GOBIN 来删除环境变量,前面的unset是bash命令,后面的set -e是 fish shell的)。为空时则遵循“约定优于配置”原则,可执行文件放在各自GOPATH目录的bin文件夹中(前提是:package main的main函数文件不能直接放到GOPATH的src下面)。但是,即便不设置 GOBIN,为了运行 go get 安装的插件,你还需要将各个 ${GOPATH}/bin 均加入到 PATH 里去。

下面是我自己的设置示例(fish shell):

# hzh add for golang
set -e GOBIN
set -x GOROOT /home/hzh/soft/golang
set -l GOPATH1 /home/hzh/develop/gopath
set -l GOPATH2 /home/hzh/develop/goproj
set -x GOPATH {$GOPATH1}:{$GOPATH2} set -x PATH {$GOROOT}/bin {$GOPATH1}/bin {$GOPATH2}/bin {$PATH}

GOROOT、GOPATH、GOBIN的更多相关文章

  1. GOROOT、GOPATH、GOBIN、project目录 _(转)

    前言:我觉得java程序员学golang很容易上手.关于GOROOT.GOPATH.GOBIN这些环境变量的设置,我隐约感觉到了java的影子(尽管我是一个C++程序员),唯一和java不同的是不能设 ...

  2. Go语言之讲解GOROOT、GOPATH、GOBIN

    Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性. go命令依赖一个重要的环境变量:$GOPATH GOPATH允许多个目录, ...

  3. Go | 讲解GOROOT、GOPATH、GOBIN

    前言 Go(又称 Golang)是 Google 开发的一种静态强类型.编译型.并发型,并具有垃圾回收功能的编程语言.Go 被誉为是未来的服务器端编程语言. Go是一门全新的静态类型开发语言,具有自动 ...

  4. Golang:GOROOT、GOPATH、GOBIN变量的含义

    背景 移植完了go以后,在配置变量的时候不太清楚这些变量的含义,找了有关的资料. 使用 go env可以获取 go 有关的环境变量,下面是我的go环境: GO111MODULE="" ...

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

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

  6. GOROOT、GOPATH和project目录说明

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

  7. 【Go入门教程1】Go 安装,GOROOT,GOPATH,Go工作空间

    Go安装 Windows 安装 访问Golang Code下载页,32 位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows-amd64 的.下载好 ...

  8. 【Go入门教程3】流程(if、goto、for、switch)和函数(多个返回值、变参、传值与传指针、defer、函数作为值/类型、Panic和Recover、main函数和init函数、import)

    这小节我们要介绍Go里面的流程控制以及函数操作. 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.Go中流程控制分三大类:条件判断,循环控制和 ...

  9. protobuffer、gRPC、restful gRPC的相互转化

    转自:https://studygolang.com/articles/12510 文档 grpc中文文档 grpc-gateway,restful和grpc转换库 protobuf 官网 proto ...

随机推荐

  1. mysql常用语句和函数

    mysql语句如果长期不写,就会忘掉,所以要时常复习,温故而知新. 1.select length("中国人"),select char_length("中国人" ...

  2. 快速构建springmvc+spring+swagger2环境

    快速构建springmvc+spring+swagger2环境 开发工具:Intellij idea               jdk: 1.8 开发步骤: 1.创建maven工程,如图建立工程结构 ...

  3. <a>标签文字强制不换行

    强制不换行 a{ white-space:nowrap; } 再补充说明所有关于换行的CSS样式: white-space: normal|pre|nowrap|pre-wrap|pre-line|i ...

  4. Codeforces 279C - Ladder - [简单DP]

    题目链接:http://codeforces.com/problemset/problem/279/C 题意: 给出 $n$ 个整数 $a[1 \sim n]$,$m$ 个查询,对于一个查询 $[l_ ...

  5. [No0000176]Git常用命令速查表(收藏大全)

    名词 master: 默认开发分支 origin: 默认远程版本库 Index / Stage:暂存区 Workspace:工作区 Repository:仓库区(或本地仓库) Remote:远程仓库 ...

  6. VS2015工具箱不出现ArcGIS Windows Forms怎么办?

    原文: https://blog.csdn.net/pangpi814961437/article/details/7954033

  7. windows共享文件分析

    ·小结: 1.win+r,\\ip  弹出登录框,输入Guest,密码空登录:前置检查来宾账户状态: 2.net use  查看当前已经连接到的主机 实践: C:\Users\sas>net u ...

  8. acid. cap

    BASE是下面三个术语的缩写: 基本可用(Basically Available) 软状态(Soft state) 最终一致(Eventually consistent) 目前最快的KV数据库,10W ...

  9. DOM节点的基础操作

    1.寻找节点 //寻找节点 id方法 document.getElementById(); //标准 //寻找节点层次方法 parentNode().firstChild()和lastChild(): ...

  10. [development][semaphore] 信号量/信号灯/信号标/旗语

    前言: 接续前节 [development][C] 条件变量(condition variables)的应用场景是什么 之前讨论了条件变量的问题, 已经知道在逻辑上, 条件变量(管程)(moniter ...