Mac上go的下载安装教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Mac上go的下载安装教程
mac上go的下载安装教程
环境变量配置
Bash
编辑~/.bash_profile⽂件(vim ~/.bash_profile,进⼊vim的正常模式,在正常模式中按下i, I, a, A等,进⼊插⼊模式),添加以下代码export GOROOT=/usr/local/Cellar/go/1.10.3/libexec
//GOROOT是golang的安装路径,不需要配置,安装golang之后就已经有了
export GOPATH=/Users/chenxingyi/work/go
//GOPATH不是安装⽬录,并且不能和Go的安装⽬录⼀样
//可以配置多个GOPATH,多个GOPATH之间⽤ : 隔开
//例如:export //GOPATH=/Users/chenxingyi/work/goUsers/chenxingyi/work1/go
//配置结束可以在通过以下⼏种⽅式查询GOPATH
//1.在命令⾏输⼊ echo $GOPATH
//2.cd $GOPATH 进⼊GOPATH⽬录,pwd显⽰当前所在⽬录
//3.在配置⽂件中查看
export GOBIN=
export PATH=$PATH:${GOPATH//://bin:}/bin
//bin 编译后⽣成的可执⾏⽂件,为了⽅便执⾏可执⾏⽂件
//可以把此⽬录加⼊到 $PATH 变量中
//如果有多个gopath,那么使⽤${GOPATH//://bin:}/bin添加所有的bin⽬录)
保存(在正常模式中,按下:(冒号)键,会进⼊命令模式,输⼊wq保存⽂件),然后执⾏
source ~/.bash_profile
Zsh
编辑~/.zshrc⽂件,添加以下代码
export GOROOT=/usr/local/Cellar/go/1.10.3/libexec
export GOPATH=/Users/chenxingyi/work/go
export GOBIN=
export PATH=$PATH:${GOPATH//://bin:}/bin
保存,然后执⾏
source ~/.zshrc
go编译和安装⼀个可运⾏的应⽤
GOPATH⽬录下约定有三个⼦⽬录:src(存放源代码)、pkg(存放编译后⽣成的⽂件)、bin(编译后⽣成的可执⾏⽂件)在go中,⽬录名(dirctory)⼀般和包名(package)保持⼀致,package是main表⽰可执⾏应⽤;package是其他表⽰应⽤包多级⽬录情况下包的引⽤:$GOPATH/src//astaxie/beedb 引⽤的路径:”/astaxie/beedb”,即相对路径go编译和安装⼀个可运⾏的应⽤的流程如下(下⾯讲的操作是命令⾏的操作,有助于理解流程):
1. src下编写应⽤包mymath(如果在命令⾏下操作cd $GOPATH/src 进⼊编写源码的⽂件夹,mkdir mymath)
2. 安装应⽤(两种⽅法):
1. 进⼊对应的应⽤包⽬录(命令⾏下cd mymath),然后执⾏go install
2. 在任意的⽬录执⾏如下代码go install mymath
3. 安装完之后,我们可以进⼊⽬录:
cd $GOPATH/pkg/${GOOS}_${GOARCH}
//pkg存储编译后⽣成的⽂件
//可以先cd $GOPATH/pkg
//然后ls 就可以看到${GOOS}_${GOARCH}具体是什么,我的是darwin_amd64
//可以看到mymath.a,这个.a⽂件是应⽤包
4. 调⽤这个应⽤包
新建⼀个package是main应⽤包mathapp,import调⽤mymath,这个就是相对于$GOPATH/src的路径,如果是多级⽬
录,import⾥⾯要引⼊多级⽬录(xxx/mymath),这时候可以直接go run ⽂件名.go 运⾏应⽤
5. 编译程序
进⼊应⽤⽬录(main⽬录下),执⾏go build(将程序编译成⼆进制⽂件),在该⽬录下会⽣成⼀个mathapp的可执⾏⽂件(可以
执⾏ls查看到该可执⾏⽂件)
6. /mathapp 输出结果(运⾏⼆进制⽂件)
7. 安装该应⽤,进⼊该⽬录执⾏go install,那么在"$GOPATH/bin/"下增加了⼀个可执⾏⽂件mathapp。

设置环境变量的时候将GOPATH/bin
加到我们的PATH⾥⾯了,这样可以在命令⾏输⼊如下命令就可以执⾏可执⾏⽂件mathapp
go程序的整体结构
bin/
mathapp
pkg/
平台名/ 如:darwin_amd64、linux_amd64
mymath.a
/
astaxie/
beedb.a
src/
mathapp
main.go
mymath/
sqrt.go
go获取远程包
go有⼀个获取远程数据包的⼯具go get,本质上可以理解为第⼀步是通过源码⼯具clone代码到src下⾯,然后执⾏ go install
go get -u 例:go get
go build命令
这个命令主要⽤于编译代码。

在包的编译过程中,若有必要,会同时编译与之相关联的包。

1. 如果是普通包,就像我们在1.2节中编写的mymath包那样,当你执⾏go build之后,它不会产⽣任何⽂件。

如果你需要在
$GOPATH/pkg下⽣成相应的应⽤包,那就得执⾏go install。

2. 如果是main包,当你执⾏go build之后,它就会在当前⽬录下⽣成⼀个可执⾏⽂件,可直接在当前⽬录下执⾏⽂件。

如果你需要在
$GOPATH/bin下⽣成相应的⽂件,需要执⾏go install,或者使⽤go build -o 路径/a.exe。

3. go build命令默认会编译当前⽬录下的所有go⽂件。

如果某个项⽬⽂件夹下有多个⽂件,只想编译某个⽂件,就可在go build之后加上
⽂件名,例如go build a.go;
4. 你也可以指定编译输出的⽂件名,默认情况是你的package名(⾮main包),或者是第⼀个源⽂件的⽂件名(main包)。

(注:实际
上,package名在中指代码中“package”后使⽤的名称,此名称可以与⽂件夹名不同。

默认⽣成的可执⾏⽂件名是⽂件夹名。


go install命令
这个命令在内部实际上分成了两步操作:第⼀步是⽣成结果⽂件(可执⾏⽂件或者.a包),第⼆步会把编译好的结果移到
$GOPATH/pkg(普通应⽤包)或者$GOPATH/bin(可执⾏应⽤)。

相关文档
最新文档