让我们比较 c 和 go: Hello_world.c :
#include<stdio.h> int main(){ printf("Hello world!"); }
Hello_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)
如果您使用的是基于 Unix 的系统(例如 Linux 或 Mac OSX),您可以尝试通过使用 -w 标志构建可执行文件来删除包含在可执行文件中的调试信息:
go build -ldflags "-w" prog.go
文件大小大大减少。
有关更多详细信息,请访问 GDB 页面:http : //golang.org/doc/gdb