Go 语言标准命令

431 阅读2分钟

go run

运行一个 .go 命令源码文件

标记 描述 示例
-a 强制编译相关代码,不论它们的编译结果是否已是最新的 go run -a main.go
-n 打印编译过程中所需执行的命令,但不真正执行它们 go run -n main.go
-p n 并行编译,其中 n 为并行的数量 go run -p 8 main.go
-v 列出被编译的代码包的名称 go run -v main.go
-work 显示编译时创建的临时工作目录的路径,并且不删除它 go run -work main.go
-x 打印编译过程中所需运行的命令,并执行 go run -x main.go

go build

用于编译源码文件或代码包。当编译非命令源码文件不会产生任何结果文件,编译命令源码文件会在该命令的执行目录中生成一个可执行文件。

执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并编译。执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被编译。执行该命令且以诺干源码文件作为参数时,只有这些文件会被编译

标记 描述 示例
-a 强制编译相关代码,不论它们的编译结果是否已是最新的 go build -a main.go
-n 打印编译过程中所需执行的命令,但不真正执行它们 go build -n main.go
-p n 并行编译,其中 n 为并行的数量 go build -p 8 main.go
-v 列出被编译的代码包的名称 go build -v main.go
-work 显示编译时创建的临时工作目录的路径,并且不删除它 go build -work main.go
-x 打印编译过程中所需运行的命令,并执行 go build -x main.go

go install

用于编译并安装代码包或源码文件。安装代码包会在当前工作区的 pkg/<平台相关目录> 下生成归档文件,安装命令源码文件会在当前工作区的 bin 目录或 $GOBIN 目录下生成可执行文件。

执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并安装。执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被安装。执行该命令且以命令源码文件及相关库源码文件作为参数时,只有这些文件会被编译并安装。

go get

用于从远程代码仓库上下载并安装代码包。受支持的代码版本控制系统有:Git、Mercurial、SVN、Bazaar。指定的代码包会被下载到 $GOPATH 中包含的第一个工作区的 src 目录中。

标记 描述 示例
-d 只执行下载动作,而不执行安装动作 go get -d github.com/go-errors/errors
-fix 在下载代码包后根据本地 go 版本执行代码包修正动作,而后再进行编译和安装 go get -fix github.com/go-errors/errors
-u 利用网络来更新已有的代码包及其依赖 go get -u github.com/go-errors/errors