func testMatrix(res *[][]int) {
r := *res
r = append(r, []int{1, 2, 3})
}
fun main(){
res := make([][]int, 0)
testMatrix(&res)
fmt.Println(res)
}
这个 res 为啥是空的 []
1
Mitt 2022-12-09 00:05:50 +08:00
因为 append 会生成新的 slice
|
2
Mitt 2022-12-09 00:10:29 +08:00
正确的做法是 *res = append(*res, []int{1, 2, 3})
|
4
lazydog 2022-12-09 11:02:54 +08:00
你可以打印下地址看看,就知道结果了。
|