go语言常用函数:make

osfipin ·
补充一下make在二维数组中的使用: ``` a := make([][]int, 2, 2) fmt.Printf("%v\r\n", a) // [[] []] fmt.Printf("%d\r\n", a[0][0]) // panic: runtime error: index out of range [0] with length 0 ``` 因此上述方法不能直接分配好内存,正确的方法如下: ``` // 先初始化一个二维数组,每行存储一个切片,具体大小先不定 b := make([][]int, 2) // 然后再为每行申请一个数组 for i := range b { b[i] = make([]int, 2) } fmt.Printf("%v\r\n", b) // [[0 0] [0 0]] fmt.Printf("%d\r\n", b[0][0]) // 0 ```
#1