Go数组初始化

192 阅读1分钟
  1. 当数组的大小有确切的数值(这里的数值指常量)时,可以直接用下面的方式创建
var arr [5]int
var arr [3]int = [3]int{1,2,3}
arr :=[...]int{1,2,3}//不定长
arr := [3]int{1,2,3}

var arr [5][5]int
var arr [2][3]int = [2][3]int{{1, 2, 3}, {4, 5, 6}}

2.当数组的大小为一个指定的变量时,这时数组的初始化需要使用make来完成,此时创建的数组其实是动态的数组,可以根据运行时的变量大小来创建

//示例一
int row = m, col = n;
grid := make([][]int, row)
for i := 0; i < row; i++ {
        grid[i] = make([]int, col)
}


//示例二
func merge(array []int, start, middle, end int) {
  leftLength := middle - start + 1
  rightLength := end - middle
  //错误的方法
  //var left [leftLength]int
  //var right [rightLength]int
  //正确的方法
  left := make([]int, leftLength)
  right := make([]int, rightLength)
}