go中build, run, install的区别

go run

编译并直接运行程序, 只会产生一个临时文件, 不会产生exe文件.
调试的时候使用

go build

检查是否有编译错误, 如果有可执行文件的源码(main包), 就生成一个可执行文件

指定编译后的名称

go build -o mygo hello.go

go install

  1. 编译导入的包文件,所有导入的包文件编译完成之后,才会编译主程序
  2. 将编译后的可执行文件放到bin目录下, 编译后的包文件放到pkg下

bug记录:

go install: no install location for .go files listed on command line (GOBIN not set)

这是因为对单个文件使用go install,就会出现这个错误
应该用 go install hello 编译
就会编译出 bin/hello 文件
之后用 ./bin/hello 运行

Go build VS go install

go install编译出的可执行文件, 以文件所在目录名命名
go install会将可执行文件安装到bin目录
go install将可执行文件依赖的各种package编译后, 放在pkg目录, 生成包文件

你可能感兴趣的:(go中build, run, install的区别)