脚本专栏 
首页 > 脚本专栏 > 浏览文章

go build和go install的区别介绍

(编辑:jimmy 日期: 2024/5/9 浏览:3 次 )

go build:

go build 用于编译包生成可执行文件,必须有main包才可以

go install:

go install 的作用有两个:主要用来生成库和工具,(如果有main包)编译后生成的可执行工具文件放到 bin 目录、$GOPATH/bin,编译后的库文件放到 pkg 目录下($GOPATH/pkg)

补充:go build 命令

简介

1、用于编译源码文件或代码包

-编译非命令源码文件不会产生任何结果文件

-编译命令源码文件会在该命令的执行目录中生成一个可执行文件

2、执行该命令且以若干源码文件作为参数时,只有这些文件会被编译

-注意列出代码运行所需的全部源码文件,否则可能产生编译错误

3、执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并编译

4、执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被编译

-加入-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 [代码包的导入路径]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

上一篇:解决Goland 提示 Unresolved reference 错误的问题
下一篇:golang 格式化输入输出操作
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网