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

為了賬號安全,請及時綁定郵箱和手機立即綁定

append函數(shù)更換底層數(shù)組,是不是等于這時候切片就是一個新的數(shù)組?

append函數(shù)更換底層數(shù)組,是不是等于這時候切片就是一個新的數(shù)組?
我測試了一下,如果append沒有超過切片容量的話是修改原數(shù)組,如果超過切片的容量的話是更換數(shù)組,這個是怎么個機制?這樣設(shè)計有點繞,是針對什么樣的實際場景呢?

正在回答

1 回答

首先明確 append 為Go的預(yù)聲明標(biāo)識符(也就是俗稱內(nèi)置函數(shù)),切片僅僅是對go數(shù)組的抽象。

func?append
func?append(slice?[]Type,?elems?...Type)?[]Type

內(nèi)建函數(shù)append將元素追加到切片的末尾。若它有足夠的容量,其目標(biāo)就會重新切片以容納新的元素。否則,就會分配一個新的基本數(shù)組。append返回更新后的切片,因此必須存儲追加后的結(jié)果。

slice?=?append(slice,?elem1,?elem2)
slice?=?append(slice,?anotherSlice...)

作為特例,可以向一個字節(jié)切片append字符串,如下:

slice?=?append([]byte("hello?"),?"world"...)


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕標(biāo)5084476 提問者

當(dāng)容量滿足的情況下append會改變底層數(shù)組元素,當(dāng)超出容量的情況下不會修改底層數(shù)組元素,那些情況下需要這種特性?
2018-01-07 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

append函數(shù)更換底層數(shù)組,是不是等于這時候切片就是一個新的數(shù)組?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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