安装 Go
- 下载官方安装包,并安装,建议参考:https://golang.org/doc/install
- 第三方工具安装:
- GVM
- apt / pacman / homebrew
- 源码安装
注意配置,GOPATH和PATH等环境变量
Go Module, GOPATH 与工作空间
Go Module
1 | # 设置代理 |
GOPATH
在 Go 1.8 之后,GOPATH 环境变量默认只为$HOME/go或%USERPROFILE%/go
GOPATH 有三个文件夹:src, bin, pkg 分别保存着源码,可执行文件,编译后生成的文件。
通常会将bin目录设置到PATH中
在使用 Go Module 之前,代码需要在src文件夹下,而现在已经没有这个限制条件了。
Go 命令
go build:
普通包:Go会对其进行编译并在
pkg下生成对应文件main包:在当前目录生成可执行文件go build <filename>.go: 只编译某个文件go build会忽略目录下以_或.开头的go文件可以使用文件名后缀来区分不同操作系统所使用的文件,如
array_linux.go,array_windows.go一些参数:
-o:指定输出文件名-i:相当于go install-a:更新全部已经是最新的包的,但是对标准包不适用-n:输出编译命令,但不执行-p <n>:指定编译时使用CPU数-race:开启自动检测数据竞争-v:打印正在编译的包-work:打印出来编译时候的临时文件夹名称,并且如果已经存在的话就不要删除-x:输出编译命令且执行
go clean:移除当前源码包和关联源码包生成的文件。
-i:清除关联的安装包和可运行文件-n:输出清除命令,但不执行-r:循环清除在import中引入的包-x:输出清除命令,并执行
go fmt:
格式化代码,一般由编辑器自动调用。
go get
获取远程包,一般会执行两步操作:1. 下载源码包;2. go install。
-d:只下载不安装-v:显示执行的命令-u:强制使用网络去更新包和它的依赖包
go install
分成两个操作:
- 生成结果文件
- 把结果文件移入
pkg或bin
go test
自动获取目录下*_test.go的文件,生成并执行测试。
-bench <bench>:指定相应的Benchmark,如go test -bench=.-cover:开启测试覆盖率-run regexp:只运行被regexp匹配的函数-v:显示测试命令
go tool
go tool fix .:修改老版本代码到新版本go tool vet .:分析当前目录的代码是否都是正确的。
go generate
用于在编译前自动化生成某类代码。
go generate 通过分析源码中特殊的注释,然后执行相应的命令。
注释格式://go:generate <command>
如//go:generate go tool yacc -o gopher.go -p parser gopher.y
在运行go generate时会运行go tool yacc -o gopher.go -p parser gopher.y
godoc
安装:go get golang.org/x/tools/cmd/godoc
godoc <package/function>查看文档godoc -http=:8080启动一个Web版本的文档
go run
编译并运行
Go 开发工具
- vscode
- Goland
- vim-go