Go build 和go run 的区别

Go build

go buildgo build
  • 当参数为空时:

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

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

  • 当参数不为空时:

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

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

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

Go run 命令

go run

区别

go buildgo rungo build