數(shù)組
是內(nèi)置(build-in)類型,是一組同類型數(shù)據(jù)的集合,它是值類型,通過從0開始的下標(biāo)索引訪問元素值。在初始化后長度是固定的,
無法修改其長度。當(dāng)作為方法的參數(shù)傳入時將復(fù)制一份數(shù)組而不是引用同一指針。數(shù)組的長度也是其類型的一部分,通過內(nèi)置函數(shù)
len(array)獲取其長度。
注意:和C中的數(shù)組相比,又是有一些不同的
1、Go中的數(shù)組是值類型,換句話說,如果你將一個數(shù)組賦值給另外一個數(shù)組,那么,實(shí)際上就是將整個數(shù)組拷貝一份
2、如果Go中的數(shù)組作為函數(shù)的參數(shù),那么實(shí)際傳遞的參數(shù)是一份數(shù)組的拷貝,而不是數(shù)組的指針。這個和C要區(qū)分開。因此,在Go
中如果將數(shù)組作為函數(shù)的參數(shù)傳遞的話,那效率就肯定沒有傳遞指針高了。
3、array的長度也是Type的一部分,這樣就說明[10]int和[20]int是不一樣的。
切片
數(shù)組的長度不可改變,在特定場景中這樣的集合就不太適用,Go中提供了一種靈活,功能強(qiáng)悍的內(nèi)置類型Slices切片(“動態(tài)數(shù)組"),與
數(shù)組相比切片的長度是不固定的,可以追加元素,在追加時可能使切片的容量增大。切片中有兩個概念:一是len長度,二是cap容
量,長度是指已經(jīng)被賦過值的大下標(biāo)+1,可通過內(nèi)置函數(shù)len()獲得。容量是指切片目前可容納的最多元素個數(shù),可通過內(nèi)置函數(shù)
cap()獲得。切片是引用類型,因此在當(dāng)傳遞切片時將引用同一指針,修改值將會影響其他的對象。
以上就是golang數(shù)組和切片的區(qū)別是什么的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
本文題目:go語言中的數(shù)組和切片有什么不同-創(chuàng)新互聯(lián)
標(biāo)題來源:http://www.chinadenli.net/article0/ccecoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站導(dǎo)航、App開發(fā)、移動網(wǎng)站建設(shè)、域名注冊、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容