新聞中心
Go語言中同樣允許使用多維切片,聲明一個多維數(shù)組的語法格式如下:

成都創(chuàng)新互聯(lián)公司長期為數(shù)千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為新干企業(yè)提供專業(yè)的網(wǎng)站設計制作、成都網(wǎng)站設計,新干網(wǎng)站改版等技術服務。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
var sliceName [][]...[]sliceType
其中,sliceName 為切片的名字,sliceType為切片的類型,每個
[ ]代表著一個維度,切片有幾個維度就需要幾個
[ ]。
下面以二維切片為例,聲明一個二維切片并賦值,代碼如下所示。
//聲明一個二維切片
var slice [][]int
//為二維切片賦值
slice = [][]int{{10}, {100, 200}}
上面的代碼也可以簡寫為下面的樣子。
// 聲明一個二維整型切片并賦值
slice := [][]int{{10}, {100, 200}}
上面的代碼中展示了一個包含兩個元素的外層切片,同時每個元素包又含一個內(nèi)層的整型切片,切片 slice 的值如下圖所示。
圖:整型切片的切片的值
通過上圖可以看到外層的切片包括兩個元素,每個元素都是一個切片,第一個元素中的切片使用單個整數(shù) 10 來初始化,第二個元素中的切片包括兩個整數(shù),即 100 和 200。
這種組合可以讓用戶創(chuàng)建非常復雜且強大的 數(shù)據(jù)結構,前面介紹過的關于內(nèi)置函數(shù) append() 的規(guī)則也可以應用到組合后的切片上,如下所示。
【示例】組合切片的切片
// 聲明一個二維整型切片并賦值
slice := [][]int{{10}, {100, 200}}
// 為第一個切片追加值為 20 的元素
slice[0] = append(slice[0], 20)
Go語言里使用 append() 函數(shù)處理追加的方式很簡明,先增長切片,再將新的整型切片賦值給外層切片的第一個元素,當上面代碼中的操作完成后,再將切片復制到外層切片的索引為 0 的元素,如下圖所示。
圖:append 操作之后外層切片索引為 0 的元素的布局
即便是這么簡單的多維切片,操作時也會涉及眾多的布局和值,在函數(shù)間這樣傳遞數(shù)據(jù)結構會很復雜,不過切片本身結構很簡單,可以用很小的成本在函數(shù)間傳遞。
名稱欄目:創(chuàng)新互聯(lián)GO教程:Go語言多維切片簡述
分享URL:http://m.fisionsoft.com.cn/article/dpgoopj.html


咨詢
建站咨詢
