go build 跟 go run 的区别

发布时间 2023-11-30 16:02:25作者: 心恩惠动

go build 和 go run 是 Go 语言中两个常用的命令,它们的主要区别在于编译和执行的过程。

1.go run

go run 命令用于编译并运行 Go 程序。它将源代码直接编译成可执行文件,并立即运行该文件。这个命令非常适合用于快速测试和运行小规模的代码片段。

使用 go run 命令时,不需要将源代码保存为 .go 文件,可以直接在终端中输入源代码,并使用 go run 命令执行。

例:

go run main.go

在这个例子中,假设源代码保存在名为 main.go 的文件中,go run 命令将直接编译并运行该文件

2.go build

go build 命令用于编译 Go 程序,但不立即运行。它将源代码编译成可执行文件,但不会立即执行该文件。

相反,它会在当前目录下生成一个可执行文件,但不会自动运行。你可以手动运行该文件,或者通过其他方式(例如在终端中输入可执行文件的名称)来运行它。

例:

go build main.go

在这个例子中,假设源代码保存在名为 main.go 的文件中,go build 命令将编译该文件,并在当前目录下生成一个可执行文件。要运行该文件,可以在终端中输入可执行文件的名称(例如 ./main)

3.总结

go run 命令适用于快速测试和运行小规模的代码片段,因为它将直接编译并运行源代码。

而 go build 命令适用于需要生成可执行文件的情况,它只编译源代码而不立即运行。你可以在生成的可执行文件上使用其他命令来手动运行它

 

 

 

 

go build 和 go run 是 Go 语言中两个常用的命令,它们的主要区别在于编译和执行的过程。

  1. go run
    go run 命令用于编译并运行 Go 程序。它将源代码直接编译成可执行文件,并立即运行该文件。这个命令非常适合用于快速测试和运行小规模的代码片段。使用 go run 命令时,不需要将源代码保存为 .go 文件,可以直接在终端中输入源代码,并使用 go run 命令执行。

例如:

gogo run main.go

在这个例子中,假设源代码保存在名为 main.go 的文件中,go run 命令将直接编译并运行该文件。

  1. go build
    go build 命令用于编译 Go 程序,但不立即运行。它将源代码编译成可执行文件,但不会立即执行该文件。相反,它会在当前目录下生成一个可执行文件,但不会自动运行。你可以手动运行该文件,或者通过其他方式(例如在终端中输入可执行文件的名称)来运行它。

例如:

gogo build main.go

在这个例子中,假设源代码保存在名为 main.go 的文件中,go build 命令将编译该文件,并在当前目录下生成一个可执行文件。要运行该文件,可以在终端中输入可执行文件的名称(例如 ./main)。

总结:
go run 命令适用于快速测试和运行小规模的代码片段,因为它将直接编译并运行源代码。而 go build 命令适用于需要生成可执行文件的情况,它只编译源代码而不立即运行。你可以在生成的可执行文件上使用其他命令来手动运行它。