采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
如题,想请教下老师,执行go run main.go和go build main.go 后执行./main 有什么区别吗? 我的理解是这样,他们执行结果是一样。但是:
除了这个不同,老师知道还有其他不同吗?
的确只有这个不同,go run做的事情就是go build,然后运行可执行文件,运行结束后销毁编译出来的可执行文件。
详细看看ps:
141938 31418 918 0 10:34AM ttys012 0:00.52 go run main.go141938 31440 31418 0 10:35AM ttys012 0:00.01 /var/folders/3s/3h057ljx5s9995ny1ylgv_p8004_lk/T/go-build953375620/b001/exe/main
141938 31418 918 0 10:34AM ttys012 0:00.52 go run main.go
141938 31440 31418 0 10:35AM ttys012 0:00.01 /var/folders/3s/3h057ljx5s9995ny1ylgv_p8004_lk/T/go-build953375620/b001/exe/main
所以就是go run生成了一个子进程31440,里面运行编译出来的main。但是go run命令本身需要等待31440的结束。所以是两个进程。
登录后可查看更多问答,登录/注册
语法+分布式爬虫实战 为转型工程师量身打造
3.7k 14
713 1
2.0k 1
1.1k 12