打开terminal
1 cd ~进入用户主目录,
2 ls -all查看是否存在.bash_profile
3 vim .bash_profile打开并编辑该文件
4 根据自己的实际情况配置路径,我配置到了外置硬盘中
export GOPATH=/Volumes/gnhxsk/mygo
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
GOPATH:日常开发的根目录,Go从1.1版本到1.7版本必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。所以,这个目录下面有三个子目录:src、bin、pkg
src 存放源代码(比如:.go .c .h .s等)
pkg 编译后生成的文件(比如:.a)
bin 编译后生成的可执行文件((为了方便,可以把此目录加入到 $$PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录))
GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下。
以上 $GOPATH 目录约定有三个子目录:
GOBIN:是GOPATH下的bin目录 go install 编译后产生的二进制文件放在这个目录
PATH:环境变量。需要gobin目录加入到path路径下,生成可执行文件就可以直接运行了。
执行下面的命令完成对golang环境变量的配置。
source ~/.bash_profile
src目录是开发程序的主要目录,所有的源码是放在这个目录下面。
例如:$GOPATH/src/mymath表示mymath这个应用包或者可执行应用,这个是根据package是main还是其他来决定,main的话是可执行应用,其他的话就是应用包.
1 执行如下代码,在src文件夹下创建mymath文件夹
cd $GOPATH/src
mkdir mymath
2 新建文件sqrt.go
package mymath
func Sqrt(x float64) float64{
z := 0.0
for i := 0; i < 1000; i ++{
z -= (z * z - x) / (2 * x)
}
return z
}
3.1 进入对应的应用包目录。然后执行go install,安装
3.2 在任意目录下执行go install mymath
,安装
安装完成之后,可以进入如下目录,查看应用包
cd $GOPATH/pkg/${GOOS}_${GOARCH}
ls
mymath.a
4 调用应用包
4.1 新建应用包
cd $GOPATH/src
mkdir mathapp
cd mathapp
vim mian.go
main.go源码:
package main
import(
"mymath"
"fmt"
)
func main(){
fmt.Printf("Hello,world. Sqrt(2) = %v\n",mymath.Sqrt(2))
}
进入该应用目录,然后执行go build,那么在该目录下面会生成一个mathapp的可执行文件
./mathapp
输出如下内容
Hello,world. Sqrt(2) = 1.414213562373095
进入该目录执行go install,那么在$GOPATH/bin下增加了一个可执行文件mathapp,在terminal中输入如下命令可以执行
mathapp
也可以输出如下内容
Hello,world. Sqrt(2) = 1.414213562373095
{
"files.autoSave": "off",
"go.buildOnSave": true,
"go.lintOnSave": true,
"go.vetOnSave": true,
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.coverOnSave": false,
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatOnSave": true,
"go.formatTool": "goreturns",
"go.goroot": "/usr/local/go",// 你的Goroot
"go.gopath": "/Volumes/gnhxsk/mygo",// 你的Gopath
}
2.4 安装依赖包支持
* 自动安装:选择一个.go文件拖进入VS Code,然后VS Code会提示你安装依赖包,选择install all即可
* 手动安装:打开terminal,执行以下命令
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/zmb3/gogetdoc
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v github.com/cweill/gotests/...
代码着彩色
代码自动完成(使用gocode)
代码片段
快速提示信息(使用godef)
跳转到定义(使用godef)
搜索参考引用(使用go-find-references)
文件大纲(使用go-outline)
重命名(使用gorename)
保存构建(使用go build和go test)
代码格式化(使用goreturns或goimports或gofmt)
调试代码(使用delve)
5.2.5 Visual Studio Code支持Go语言调试
执行以下命令:
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
brew install go-delve/delve/delve
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
修改“dlv-cert”证书
1.打开“钥匙串访问”
2.打开菜单->钥匙串访问->证书助理->创建证书
3.名称:dlv-cert 身份类型:自签名证书 证书类型:代码签名 并选择“让我覆盖这些默认值”
4.单击“继续”,有限期(天数):365,可以自己修改,3650
5.一直继续,直到看到“指定用于该证书的位置”钥匙串,选择“系统”并单击“创建”按钮
6.重启Finder,再打开“钥匙串访问”,选择“系统”,就会看到创建好的“dlv-cert”证书
7.右键”dlv-cert”证书,选择“显示简介->信任->代码签名”修改为:始终信任
8.打开terminal,进入到之前安装好的$GOPATH/src目录下的dlv源码文件目录:github.com/derekparker/delve
9.输入如下命令就可以重新编译出一个带代码签名的dlv执行程序GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install
一定要安装 Xcode Command Line Tools 才能使用dlv
xcode-select --install
1.go指南:官网链接:https://go-tour-zh.appspot.com/welcome/1(需要梯子),如果无法打开请用国内链接:http://tour.studygolang.com/
2.《the way to go》,如果看英文感觉吃力,github上无闻大牛已经做了中文译本:https://github.com/Unknwon/the-way-to-go_ZH_CN
3.《Go 学习笔记 第三版》雨痕写的,该电子书在github开源:https://github.com/qyuhen/book
4.《go web 编程》,是谢大(beego的作者)写的电子书,github中文目录链接:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md
5.《go编程基础》视频教程,此教程是无闻大牛讲解的,github视频链接:https://github.com/Unknwon/go-fundamental-programming