相同点
都能生成可执行文件
不同点
go build 不能生成包文件, go install 可以生成包文件
go build 生成可执行文件在当前目录下, go install 生成可执行文件在bin目录下($GOPATH/bin)
go build 经常用于编译测试.go install主要用于生产库和工具.
通过go build加上要编译的Go源文件名,我们即可得到一个可执行文件(二进制文件),默认情况下这个文件的名字为源文件名字去掉.go后缀,windows后缀改为.exe.
如果直接在源码的当前目录下直接执行go build命令,后面不带文件名,我们将得到一个与目录名同名的可执行文件.
与build命令相比,install命令在编译源码后还会将可执行文件或库文件安装到约定的目录下
- go install编译出的可执行文件以其所在目录名(DIR)命名
- go install将可执行文件安装到与src同级别的bin目录下,bin目录由go install自动创建
- go install将可执行文件依赖的各种package编译后,放在与src同级别的pkg目录下.