go语言中go build和go install的区别

2023-06-01 00:00:00 build 语言 区别

go buildgo build 用于测试编译包,主要检查是否会有编译错误,如果是一个可执行文件的源码(即是 main 包),就会直接生成一个可执行文件。

go install:go install 的作用有两步:第一步是编译导入的包文件,所有导入的包文件编译完才会编译主程序;第二步是将编译后生成的可执行文件放到 bin 目录下($GOPATH/bin),编译后的包文件放到 pkg 目录下($GOPATH/pkg)。

go build

通过go build加上要编译的Go源文件名,我们即可得到一个可执行文件,默认情况下这个文件的名字为源文件名字去掉.go后缀。

$ go build hello.go$ lshello hello.go

当然我们也 可以通过-o选项来指定其他名字:

$ go build -o mygo hello.go$ lsmygo hello.go

如果我们在go-examples目录下直接执行go build命令,后面不带文件名,我们将得到一个与目录名同名的可执行文件:

$ go build$ lsgo-examples hello.go

go install

与build命令相比,install命令在编译源码后还会将可执行文件或库文件安装到约定的目录下。

go install编译出的可执行文件以其所在目录名(DIR)命名

go install将可执行文件安装到与src同级别的bin目录下,bin目录由go install自动创建

go install将可执行文件依赖的各种package编译后,放在与src同级别的pkg目录下

推荐:go语言教程

以上就是go语言中go build和go install的区别的详细内容,更多请关注其它相关文章!

相关文章