当前位置: 首页 > 工具软件 > gorun > 使用案例 >

Go语言go build 和 go run 的区别

严升
2023-12-01

Go build 和go run 的区别

Go build

go build 用来启动编译,可以将Go语言程序与相关依赖编译成一个可执行文件,在使用go build编译时,不同的参数执行的结果也不相同

  • 当参数为空时:

如果当前目录下存在main包,则会生成一个与当前目录名同名的可执行文件;

如果不存在main包,则只对当前目录下的程序源码进行语法检查,不生成可执行文件

  • 当参数不为空时:

如果参数为同一个main包下的源文件名,编译器将生成一个与第一个参数同名的可只想文件;

如果为非main包下的源文件,编译器只进行语法检查,不生成可执行文件

go build 只在执行出错时才会有返回的信息,执行成功的情况下没有返回信息

Go run 命令

go run 命令将编译和执行的指令合二为一,会在编译后立即执行程序,生成一个临时文件,并没有可执行文件生成。

区别

  1. 如果使用go build生成了可执行文件,那么不论当前环境有没有go 开发语言环境,都可以执行该可执行文件
  2. 如果使用go run命令执行,只能在安装go开发环境的机器上执行
  3. go build生成可执行文件时,会将当前的库文件以及依赖包含到可执行文件中,会导致可执行文件变大。
 类似资料: