让我们比较一下 c 和 go: Hello_world.c :
#include<stdio.h>
int main(){
printf("Hello world!");
}
你好_world.go:
package main
import "fmt"
func main(){
fmt.Printf("Hello world!")
}
编译两者:
$gcc Hello_world.c -o Hello_c
$8g Hello_world.go -o Hello_go.8
$8l Hello_go.8 -o Hello_go
还有,这是什么?
$ls -ls
... 5,4K 2010-10-05 11:09 Hello_c
... 991K 2010-10-05 11:17 Hello_go
大约 1Mb 你好世界。你在开玩笑吧?我做错了什么?
(仅剥离 Hello_go -> 893K)
原文由 zyrg 发布,翻译遵循 CC BY-SA 4.0 许可协议
注意:此答案已过时
请注意,此答案已过时。请参考其他投票较高的答案。我想删除这篇文章,但无法删除已接受的答案。
是不是文件比较大的问题?我不知道 Go,但我会假设它静态链接了一些运行时库,而 C 程序并非如此。但是一旦你的程序变大,这可能就没什么好担心的了。
如此 处 所述,静态链接 Go 运行时是默认设置。该页面还告诉您如何设置动态链接。