GO配置
安装
apt安装
apt update && apt install -y golang
卸载使用apt remove 命令,然后使用apt autoremove 移除依赖包
注意这种方式只能安装1.6版本,如需更高版本(比如需要context包)请按照第二种方式安装
安装包安装
下载安装包
解压到你想要的文件夹
tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz
如果下载的版本是1.13及以上可以更改默认代理
后面的插件下载就不必手动安装了
GOPRIVATE可以设定组织内的私有库
export GOPROXY= "https://goproxy.cn,direct"
export GOPRIVATE= "*.xxx.org"
export GOSUMDB= "golang.google.cn"
多版本管理
通过下面的脚本可以快速安装和管理多个golang版本
需要在/usr/local
目录下创建go-dir
和go-tar
两个目录
如果在Linux系统下需要吧darwin 改成linux
BigVersion= $1
SmallVersion= $2
RootPath= /usr/local
DirPath= /usr/local/go-dir/go-${BigVersion} -${SmallVersion}
TarFile= go1.${BigVersion} . ${SmallVersion} .darwin-amd64.tar.gz
wget https://golang.google.cn/dl/${TarFile}
mkdir -p ${DirPath}
tar -C ${DirPath} -xzf ${TarFile}
cd ${RootPath} ; rm go
ln -s ${DirPath} /go/ ${RootPath} /go
配置环境变量
/etc/profile 文件对整个计算机生效
~/.profile 或者 ~./bash_profile 文件对该用户生效
如果使用了zsh的话得加载在/etc/zsh/zshrc文件中
export GOROOT= /usr/local/go
export PATH= $PATH : $GOROOT /bin
export GOPATH= $HOME /vscode/go-config
export GOBIN= $GOPATH /bin
export PATH= $PATH : $GOBIN
export PATH= ${ PATH
生效配置
source /etc/profile
或者source ~/.profile
安装插件(vscode)
下载的版本为1.11之前由于墙的原因需要手动安装
手动从GitHub下载源码到github.com/golang目录
git clone https://github.com/golang/tools.git tools
复制一份到golang.org/x/目录
golint需要单端安装到上面的目录
git clone https://github.com/golang/lint
手动go install所有插件
参考
GO 内置命令
命令列表
build compile packages and dependencies
clean remove object files
doc show documentation for package or symbol
env print Go environment information
bug start a bug report
fix run go tool fix on packages
fmt run gofmt on package sources
generate generate Go files by processing source
get download and install packages and dependencies
install compile and install packages and dependencies
list list packages
run compile and run Go program
test test packages
tool run specified go tool
version print Go version
vet run go tool vet on packages
go build
如果目标包里有 main 包,就会生成二进制文件
如果没有 main 包,build 指令仅仅用来检查编译是否可以通过,编译完成后会丢弃编译时生成的所有临时包对象
默认作用范围为当前文件夹,也可以指定目录编译
...
匹配所有
go build flysnow.org/tools/...
编译tools目录下的所有包
在当前目录下生成二进制文件
- race
参数开启竞争检测
跨平台编译
GOOS=linux GOARCH=amd64 go build packageName
go clean
go install
编译并安装文件,即比build多一个安装的步骤
不指定包则默认为安装当前包
安装到bin或pkg目录下
含有main包文件(生成可执行文件)会被安装到$GOPATH/bin
目录下
普通包文件(生成.a文件)安装到$GOPATH/pkg/$GOOS/
目录下
当存在多个GOPATH目录时,只有第一个目录有效
go run
编译和执行程序,不生成文件
必须要包含main函数的文件作为参数
go get
获取远程代码包并安装
-v 显示过程
-u 强制用网络更新
-d 只下载,不安装
go get 会自动检测和安装所有依赖包
为了获得一个项目的所有依赖,不要使用git clone,而使用go get
go get -v ./.. .
go help
go env
不加参数即为查看环境参数
-w 设置全局环境变量
例如 go env -w GOBIN=$HOME/bin
go vet
参考
极客学院-命令行工具集
知乎-命令行工具集