亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串數據在內存中的位置

字符串數據在內存中的位置

Go
慕婉清6462132 2022-06-01 16:13:07
我讀到字符串是不可變的,內部字符串有兩個數據,第一個是指針,第二個是指向數據的長度。s := "Hello World"這意味著 s 有兩個字節的字符串數據指針,長度為 11,如果我們更改此數據s = "This is golang"那么s將包含不同的指針和長度,但如果 s 指向的字符串的這些字節存儲在堆棧或堆中,我沒有得到?此外,我們可以從文件中獲取字符串并將其分配給s變量,這意味著在編譯時編譯器不知道要存儲的字節數,所以會堆入嗎?
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

字符串文字存儲在數據段中。他們無法改變。

在運行時動態創建的字符串存儲在堆?;蚨阎校唧w取決于字符串的分配/使用方式。如果一個字符串在一個函數中使用并且不存在于該函數之外,它很可能會在堆棧上。否則它將在堆中。


查看完整回答
反對 回復 2022-06-01
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

String創建后為 const 。如果你重新分配一個String var,編譯器只是創建另一個const String,放棄前一個,前一個將等待GC。



查看完整回答
反對 回復 2022-06-01
  • 2 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號