简介
- 用于编译源码文件或代码包
-编译非命令源码文件不会产生任何结果文件
-编译命令源码文件会在该命令的执行目录中生成一个可执行文件 - 执行该命令且以若干源码文件作为参数时,只有这些文件会被编译
-注意列出代码运行所需的全部源码文件,否则可能产生编译错误 - 执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并编译
- 执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被编译
-加入-a标记后所有涉及到的代码包都会被重新编译
-不加入-a标记,则只会编译归档文件中不是最新的代码包
使用
编译源码文件:go build [fileName].go
编译代码包:go build [代码包的导入路径]
常见标记
标记 | 描述 |
---|---|
-o | 指定输出文件。 |
-a | 强行对所有涉及到的代码包(包括标准库中的代码包)进行重新构建,即使它们已经是最新的了。 |
-n | 打印构建期间所用到的其它命令,但是并不真正执行它们。 |
-p n | 构建的并行数量(n)。默认情况下并行数量与CPU数量相同。 |
-race | 开启数据竞争检测。此标记目前仅在linux/amd64、darwin/amd64和windows/amd64平台下被支持。 |
-v | 打印出被构建的代码包的名字。 |
-work | 打印出临时工作目录的名字,并且取消在构建完成后对它的删除操作。 |
-x | 打印出构建期间所用到的其它命令。 |
例如:go build -a [代码包的导入路径]