新聞中心
數(shù)組
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),宏偉企業(yè)網(wǎng)站建設(shè),宏偉品牌網(wǎng)站建設(shè),網(wǎng)站定制,宏偉網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,宏偉網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
是內(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ì)影響其他的對(duì)象。
以上就是golang數(shù)組和切片的區(qū)別是什么的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
網(wǎng)站名稱:go語言中的數(shù)組和切片有什么不同
當(dāng)前網(wǎng)址:http://www.dlmjj.cn/article/poidhp.html