实用命令
命令 | 含义 |
---|---|
go version | 查看版本 |
go env | 查看 go 相关的环境变量 |
go fmt | 格式化代码 |
go test | 运行测试 |
go vet | 检查 go 源代码并报告可疑的情况 |
第一种方式:安装包安装
根据不同的操作系统安装对应的安装包:https://golang.google.cn/doc/install,如果是 mac 系统,还可以直接使用 Homebrew 安装
直接通过 pkg 包安装的 go 卸载方式为:
sudo rm -rf /usr/local/go
然后sudo rm -rf /etc/paths.d/go
即可
brew install go
# 指定版本安装
brew install go@1.16
# 查看 go 版本号,以确定是否安装成功
go version
- 查看环境变量
go env
- 设置环境变量
# 设置 GO 语言的路径
# 需要设置成你自己的 go 安装路径
export GOROOT="/opt/homebrew/Cellar/go@1.16/1.16.15/libexec"
export GOPATH=$HOME/go
export PATH="/opt/homebrew/opt/go@1.16/bin:$GOROOT/bin:$GOPATH/bin:$PATH"
- 配置 go path
需要为 Go 创建工作目录,在 $GOPATH 中创建 bin、src、pkg
三个文件夹
mkdir -p $GOPATH/{bin,src,pkg}
- 设置代理
# 1. 七牛 CDN
go env -w GOPROXY=https://goproxy.cn,direct
# 2. 阿里云
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
# 3. 官方
go env -w GOPROXY=https://goproxy.io,direct
第二种方式:源码包下载安装
源码包安装
- 下载 Linux 源码包
wget https://golang.google.cn/dl/go1.17.2.linux-amd64.tar.gz
- 解压源码包
sudo tar -xzvf go1.17.2.linux-amd64.tar.gz -C /usr/local
- 添加配置变量
vim ~/.bashrc
# 设置 GO 语言的路径
export GOROOT=/usr/local/go # 表示源码包所在路径
export GOPATH=$HOME/go # 写 go 项目的工作路径,这里可以自定义
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
写完之后保存,然后重新导入配置 source ~/.bashrc
- 如果使用的是 zsh 并且在 Mac 上使用 Homebrew 安装的 golang,那么
# 设置 GO 语言的路径
export GOROOT=/usr/local/Cellar/go/1.16.3/libexec
export GOPATH=$HOME/glory/codes/golang # 写 go 项目的工作路径,这里可以自定义
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
写完之后保存,然后重新导入配置 source ~/.zshrc
- 检测开发环境
# 查看 go 版本
go version
go --help
查看文档
本地直接访问 go 文档
godoc -http=:6060
如果提示 godoc
命令不存在,则使用以下命令安装
# 安装方式一:
go get golang.org/x/tools
# 安装方式二:
GO111MODULE=on go install golang.org/x/tools/cmd/godoc@latest
编译
# 查看编译后的这个二进制文件依赖哪些其他的库,这里假设编译后的二进制文件为 `hello`
ldd hello
# 查看编译速度和执行速度(这里假设编译 hello.go 文件)
time go build hello.go && time ./hello
下载依赖包
# 比如需要下载 aceld/zinx 包的话
go get -u github.com/aceld/zinx
跑单元测试代码
# 项目根目录下的 tests 目录写了带有 `*_test.go` 文件
# 带上 -v 参数可以查看执行详情信息
# -count 设置测试运行的次数。如果设置为 2,则测试代码会运行 2 次
# 如果测试代码执行结果被缓存,那么可以增加 -count 参数达到清除缓存的效果
go test ./tests -v -count=1
网友评论