新聞中心
本篇文章重點為大家講解一下Golang二維切片初始化具體方法,有需要的小伙伴可以參考一下。

成都創(chuàng)新互聯(lián)服務緊隨時代發(fā)展步伐,進行技術革新和技術進步,經過十年的發(fā)展和積累,已經匯集了一批資深網(wǎng)站策劃師、設計師、專業(yè)的網(wǎng)站實施團隊以及高素質售后服務人員,并且完全形成了一套成熟的業(yè)務流程,能夠完全依照客戶要求對網(wǎng)站進行網(wǎng)站制作、成都網(wǎng)站建設、建設、維護、更新和改版,實現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。
引言
之前,刷Leetcode的時候,有些題需要初始化二維數(shù)組,而一維數(shù)組的初始化,比如:
var a = [5]int{1, 2, 3, 4, 5} // 用var
b := [5]int{1, 2, 3, 4, 5} // 用類型推斷
var c = [...]int{1, 2, 3, 4, 5} // 不確定長度
d := [...]int{1, 2, 3, 4, 5}
如果不知道數(shù)組元素的話,可以這樣:
var a [5]int
b := [5]int{}
c := make([]int, 5)
注意:類型推斷,可要初始化的,如果b := [5]int,就會報錯的。而var a [5]int,則不需要初始化。
二維數(shù)組初始化
比如3*4:
var a [3][4]int
結果為: [[0 0 0 0] [0 0 0 0] [0 0 0 0]]
類型推斷:
a := [3][4]int{}
結果為: [[0 0 0 0] [0 0 0 0] [0 0 0 0]]
注意:固定長度的時候,不能是變量,比如:
m, n := 3, 4
var a [m][n]int // 報錯,必須是常量表達式
如果一定要變量呢?那就得切片了了
func main() {
m, n := 3, 4
a := make([][]int, m) // 二維切片,3行
for i := range a {
a[i] = make([]int, n) // 每一行4列
}
fmt.Println(a)
}
結果: [[0 0 0 0] [0 0 0 0] [0 0 0 0]]
注意,有一種情況,如果沒有規(guī)定長度或者初始化,訪問元素會range out呢:
var a []int // or a := []int{}
fmt.Println(a) // []
a[0] = 1 // 報錯
新聞名稱:詳解Golang二維切片初始化
當前路徑:http://m.5511xx.com/article/coocegh.html


咨詢
建站咨詢
