第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Go 中別名類型之間的轉(zhuǎn)換是否會(huì)創(chuàng)建副本?

Go 中別名類型之間的轉(zhuǎn)換是否會(huì)創(chuàng)建副本?

Go
藍(lán)山帝景 2021-11-01 16:52:48
例子:type MyString string var s = "very long string"var ms = MyString(s)var s2 = string(s)是ms或s2的完整副本s(就像用 完成的那樣[]byte(s))?或者它們只是一個(gè)字符串結(jié)構(gòu)副本(將實(shí)際值保存在指針中)?如果我們將它傳遞給一個(gè)函數(shù)怎么辦?例如:func foo(s MyString){  ...}foo(ms(s))  // do we copy s here?
查看完整描述

1 回答

?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

規(guī)格: 轉(zhuǎn)換:

特定規(guī)則適用于數(shù)字類型之間或與字符串類型之間的(非常量)轉(zhuǎn)換。這些轉(zhuǎn)換可能會(huì)改變表示x并產(chǎn)生運(yùn)行時(shí)成本。所有其他轉(zhuǎn)換僅更改類型,而不更改x.

因此,如果在自定義類型的基礎(chǔ)類型之間進(jìn)行轉(zhuǎn)換,則不會(huì)進(jìn)行復(fù)制。

當(dāng)您將值傳遞給函數(shù)或方法時(shí),會(huì)生成并傳遞一個(gè)副本。如果將 a 傳遞string給函數(shù),則只會(huì)string復(fù)制和傳遞描述 的結(jié)構(gòu),因?yàn)?code>strings 是不可變的。

如果你傳遞一個(gè)切片(切片也是描述符)也是如此。傳遞切片將制作切片描述符的副本,但它將引用相同的底層數(shù)組。


查看完整回答
反對(duì) 回復(fù) 2021-11-01
  • 1 回答
  • 0 關(guān)注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)