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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

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

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

正在回答

1 回答

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

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

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

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

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

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


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

慕標(biāo)5084476 提問(wèn)者

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

舉報(bào)

0/150
提交
取消

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

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

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

幫助反饋 APP下載

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

公眾號(hào)

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