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

localhost:~ zhaofan$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/zhaofan/go_project"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.9.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/b6/mc1c40c91cld67ps963_r16h0000gn/T/go-build539393745=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
localhost:~ zhaofan$

GOROOT
其实就是golang 的安装路径
当你安装好golang之后其实这个就已经有了
GOPATH
go命令依赖的一个重要环境变量:$GOPATH
其实可以把这个目录理解为工作目录,我个人定义的目录是:
GOPATH="/Users/zhaofan/go_project"
当然这个目录是需要添加到环境变量中的
go_project // (go_project为GOPATH目录)
-- bin // golang编译可执行文件存放路径
-- pkg // golang编译包时,生成的.a文件存放路径
-- src // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
GOBIN
首先先看一下我的目录结构:

我们通常是在go_project目录下执行go build,例如:
/Users/zhaofan/go_project/src/go_dev/01/hello/hello.go
我们现在要编译hello.go文件,我只需要切换到
/Users/zhaofan/go_project目录中,然后执行:
go build go_dev/01/hello
golang 会自动去src下找hello目录,因为我的hello.go中代码的开通导入了packag main包,所以可以编译成可执行文件,但是这样默认在当前目录下生成可执行文件,虽然可以指定目录,但是还是感觉不是非常方便
所以还有两个非常好用的命令:go get 和go install
go get
go get会做两件事:
1. 从远程下载需要用到的包
2. 执行go install
go install
go install 会生成可执行文件直接放到bin目录下,当然这是有前提的
你编译的是可执行文件,如果是一个普通的包,会被编译生成到pkg目录下该文件是.a结尾
关于go的整体一个开发目录

go_project // go_project为GOPATH目录
-- bin
-- myApp1 // 编译生成
-- myApp2 // 编译生成
-- myApp3 // 编译生成
-- pkg
-- src
-- myApp1 // project1
-- models
-- controllers
-- others
-- main.go
-- myApp2 // project2
-- models
-- controllers
-- others
-- main.go
-- myApp3 // project3
-- models
-- controllers
-- others
-- main.go

GOROOT,GOPATH,GOBIN,project的更多相关文章
- 初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录
我们接下来一个一个来看关于Go语言中的三个目录的详细解释先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) localhost:~ zhaofan$ go env GOA ...
- 搞明白GOROOT,GOPATH,GOBIN,project目录
我们接下来一个一个来看关于Go语言中的三个目录的详细解释先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) localhost:~ zhaofan$ go env GOA ...
- [Golang] GOROOT、GOPATH和Project目录说明
go env环境查看 用go env 可查看当前go环境变量. $ go env GOARCH="amd64" GOBIN="" GOEXE="&qu ...
- GOROOT、GOPATH和project目录说明
go env环境查看 用go env 可查看当前go环境变量. $ go env GOARCH="amd64" GOBIN="" GOEXE="&qu ...
- 为什么要设置GOROOT/GOPATH
设置GOROOT的原因 编译器的位置指定的时候,需要指定GO开发包的安装位置,然后设置环境变量PATH的时候,需要指定到安装包下的bin目录,其中就有以下的编译/执行器.所以GOROOT指定了前面的路 ...
- Go 目录
Go语言 go语言初识 基本数据类型和操作符 字符串,时间,流程控制,函数 GOROOT,GOPATH,GOBIN,project目录 数组和切片 指针和内置函数 排序和查找 map
- 使用go语言开发一个后端gin框架的web项目
用liteide来开发go的后端项目,需要注意的是环境变量要配置正确了 主要是GOROOT, GOPATH, GOBIN, PATH这几个, GOPATH主要用来存放要安的包,主要使用go get 来 ...
- Go语言之讲解GOROOT、GOPATH、GOBIN
Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性. go命令依赖一个重要的环境变量:$GOPATH GOPATH允许多个目录, ...
- Go语言GOPATH详解(Go语言工作目录)
GOPATH 是 Go语言中使用的一个环境变量,它使用绝对路径提供项目的工作目录. 工作目录是一个工程开发的相对参考目录,好比当你要在公司编写一套服务器代码,你的工位所包含的桌面.计算机及椅子就是你的 ...
随机推荐
- react基础用法二(组件渲染)
react基础用法二(组件渲染) 如图所示组件可以是函数 格式:function 方法名(){ return <标签>内容</标签>} 渲染格式: <方法名 /> ...
- SPI总线工作模式
一.SPI总线工作模式 SPI总线有四种工作模式,是由时钟极性选择(CPOL)和时钟相位选择(CPHA)决定的. CPOL = 0 ,SPI总线空闲为低电平,CPOL = 1, SPI总线空闲为高电平 ...
- TI Code Composer Studio MSP430系列驱动源代码
一.参考TI官网驱动源代码 安装打开Code Composer Studio,如下图所示,最近在调试MSP430G2533的AD,需要参考官网的底层驱动配置. 从Code Composer Studi ...
- 【Henu ACM Round#14 C】Duff and Weight Lifting
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 2^y可以由两个2^(y-1)相加得到. 则有一个贪心的策略. 就是2^x尽量都变成2^(x+1) (即能够凑就尽量凑) 如果x还有 ...
- HDU 3911 Black And White
Black And White Time Limit: 3000ms Memory Limit: 32768KB This problem will be judged on HDU. Origina ...
- Java 实现有序链表
有序链表: 按关键值排序. 删除链头时,就删除最小(/最大)的值,插入时,搜索插入的位置. 插入时须要比較O(N),平均O(N/2),删除最小(/最大)的在链头的数据时效率为O(1), 假设一个应用须 ...
- DuiVision开发教程(19)-菜单
DuiVision菜单类是CDuiMenu.有两种显示的位置,一种是在窗体顶部某个button点击后能够下拉一个菜单,还有一种是托盘图标的右键菜单. 窗体中的菜单定义方式是xml文件里设置某个butt ...
- CentOS6.5下的Nagios安装配置详解(图文)
最近因为,科研需要,接触上了Nagios,这里,我将安装笔记做个详解.为自己后续需要和博友们学习! VMware workstation 11 的下载 VMWare Workstation 11的安装 ...
- Codefroces 766D Mahmoud and a Dictionary
D. Mahmoud and a Dictionary time limit per test 4 seconds memory limit per test 256 megabytes input ...
- AIX 适配器
1. 查看所有适配卡 lsdev -CHc adapter 2. 物理网卡适配卡 查看到物理网卡的个数与类型 lsdev -Cc adapter|grep ent 查看物理网卡具体插槽位( ...