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