python语言可以在不输出二进制可执行文件情况下,使用虚拟机直接执行源文件。go语言没有虚拟机,但使用go run可以达到同样效果。go run会编译go源码,直接执行go源码中的main()函数,不在当前目录下输出任何可执行文件。使用go run main.go运行下面代码。
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("args:", os.Args)
}
观察运行结果
# go run main.go --input-file file.go
args: [/var/folders/bs/2knm7k8d6357gsyc57n4c0rw0000gn/T/go-build511211141/b0
01/exe/main -a 1]
-
go run不会在当前目录生成任何可执行文件,可执行文件被放在临时文件中被执行
-
可以在go run后面添加参数,这部分作为代码可接受的命令行参数提供给go程序
-
不能使用使用
go run 包名的方式进行编译后运行,可以换用go build 包名的方式生成可执行文件,然后运行可执行文件
本文介绍如何使用gorun命令在不生成可执行文件的情况下运行Go语言源代码,探讨其工作原理,并对比Python的虚拟机执行方式。通过示例代码演示了如何接受命令行参数。

被折叠的 条评论
为什么被折叠?



