go-byte數組最大的長度


本來想打算用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的問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM