• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go-byte数组最大的长度

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本来想打算用go来处理一个1G左右的txt文本的,但是在去读取的时候就报内存溢出了,提示数组已经无法在分配。

用的是:ioutil.ReadFile 方法来读取文本,它的返回值是一个[]byte 数组,内存溢出的原因就是[]byte数组已经超过最大限度值了,于是就想探清一下 go  到底能给[]byte分配多长的数组

       var arry [804254644]byte
    log.Println("读取完毕", len(arry))

 

很简单的一段代码,就是一个简明的声明,不做任何其他的处理,经过不断的调试,发现声明的数组长度如果大于 804254644 这个长度的就会报异常,小于的则正常,难道 804254644 就是 go 的[]byte的最大长度?

本人的机器是4G内存,[804254644]byte的容量大致是 766M ,这也太小了吧,难道谷歌就只能让他的go最大只能处理766M的文件? 但愿还是我的环境问题而不要是go的问题

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go通过http发送图片file内容发布时间:2022-07-10
下一篇:
二叉树的锯齿形层序遍历(Go)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap