Go语⾔之讲解GOROOT、GOPATH、GOBIN
Go是⼀门全新的静态类型开发语⾔,具有⾃动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性.
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//://bin:}/bin添加所有的bin⽬录)
代码⽬录结构规划
GOPATH下的src⽬录就是接下来开发程序的主要⽬录,所有的源码都是放在这个⽬录下⾯,那么⼀般我们的做法就是⼀个⽬录⼀个项⽬,
例如: $GOPATH/src/mymath 表⽰mymath这个应⽤包或者可执⾏应⽤,这个根据package是main还是其他来决定,main的话就是可执⾏应⽤,其他的话就是应⽤包,这个会在后续详细介绍package。
⾸先看下我的go环境:go env
C:\Users\Administrator>go env
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\project
set GORACE=
set GOROOT=D:\BaiduNetdiskDownload\go
set GOTOOLDIR=D:\BaiduNetdiskDownload\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
GOROOT
其实就是golang 的安装路径
当你安装好golang之后其实这个就已经有了
GOBIN
⾸先看⼀下结构:go语言开发环境搭建
我们通常是在project⽬录下执⾏go build,例如:
D:\project\src\go_dev\day1\package_example\main>go
400100
现在需要编译,golang 会⾃动去src下hello⽬录,因为我的中代码的开通导⼊了packag main包,所以可以编译成可执⾏⽂件,但是这样默认在当前⽬录下⽣成可执⾏⽂件,虽然可以指定⽬录,但是还是感觉不是⾮常⽅便
d:\project>go build go_dev/day1/package_example\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
--
-- myApp2 // project2
-- models
-- controllers
-- others
--
-- myApp3 // project3
-- models
-
- controllers
-- others
--
Linux下配置go环境
1、⾸先下载linux下的go包:studygolang/dl/golang/go1.9.2.
2、下载之后
tar -zxvf go1.9.2. 解压源码包
3、移动到 /usr/local/go 也就是GOROOT
4、设置GOPATH,还有PATH环境变量
export GOROOT=/usr/local/go #设置为go安装的路径
export GOPATH=$HOME/gocode #默认安装包的路径
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
查看Linux go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/gocode"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build057487015=/tmp/go-build -gno-record-gcc-switches" CXX="g++"
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"
go env
参考⽂章地址:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论