为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这段代码会在 go 中生成非常大的可执行文件(大约 81M)?

为什么这段代码会在 go 中生成非常大的可执行文件(大约 81M)?

Go
鸿蒙传说 2021-07-01 18:59:40
我是 golang 的新手。我写了这样的代码:package mainimport (    "fmt")const (    BIG_NUM = 10 * 1000 * 1000)type BigData [BIG_NUM]uint64func (self BigData) String() string {    return fmt.Sprintf("%d\n", self[0])}func (self *BigData) Clear() {    *self = BigData{}}func main() {    data := new(BigData)    fmt.Println(data)}编译后,可执行文件在81M左右:$ ls -l-rwxr-xr-x  1 tchen  522017917  81533376 Dec 19 08:44 test-rw-r--r--  1 tchen  522017917       290 Dec 19 08:44 test.go当我删除 Clear() 函数时,可执行文件变为正常大小。那么为什么这个 Clear() 函数会生成这么大的可执行文件呢?它应该在运行时调用,而不是编译时调用,对吗?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信