Go语言基础命令

1
2
3
4
go run
go build
go install
go get

Go语言环境变量

GOPATH (工作路径)

  • src (以代码包为单位存放源码文件)
  • pkg (将.a格式文件存放在$GOOS_$GOARCH目录下)
  • bin (存放Go编译后的可执行文件)
  • 当GOBIN被设置后,bin目录无意义
  • 当GOPATH包含多个工作路径时,必须设置GOBIN

The Others

  • GOOS (操作系统)
  • GOARCH (计算机架构)
  • $GOOS_$GOARCH (例如 linux_amd64)
  • GOBIN (可执行文件存放路径)

go run (运行源码文件)

内部操作:先编译生成临时可执行文件,再运行

1
2
3
4
5
6
7
8
9
10
11
12
go run [options]... <GolangSourceFile>...

options
-a 强制编译代码并执行
-n 只显示执行代码需要的命令,并不执行
-x 显示执行代码需要的命令,并执行
-p Num 并行编译,Num为CPU逻辑核数
-v 显示出被编译的代码包的名字
-work 显示出存放临时可执行文件的目录,并且保留该目录

GolangSourceFile
当存在多个时,只有一个代码包的源码会被编译执行

go build

编译文件

1
2
3
4
5
6
go build [options]

default 编译当前目录下的源码文件
options
-a 强制编译所有涉及到的代码 else 只会编译时间戳改变的源码文件
GolangSourceFile... 在参数中列出了需编译的源码文件,如果不全,会报错

go install

编译并安装代码包或源码文件

  • install代码包,会在pkg/$GOOS_$GOARCH/目录下生成可执行文件
  • install源码文件,会在bin/或者$GOBIN目录下生成可执行文件
1
2
3
4
5
6
go install [options]

default 试图把当前目录作为代码包安装
options
代码包的导入路径
源码文件

go get

从远程代码仓库上下载并安装代码包 (GitHub…)

  • 代码包会被下载到$GOPATH中第一个工作路径的./src/中,然后才会安装
1
2
3
4
5
6
go get [options]... <Url>

options
-d 只下载,不安装
-fix 下载代码包,调整代码包符合本地Go版本,再安装
-u 更新代码包