我正在使用以下简单的代码来处理Golang中的二维数组,其中APPEND函数结果是重复值而不是追加。
package main
import "fmt"
func main() {
var n int
fmt.Scanf("%d", &n)
array := [][]int{}
row := make([]int, n)
for _, _ = range row {
for j, _ := range row {
fmt.Scanf("%d", &row[j])
}
fmt.Println("Printing current Row", row)
array = append(array, row)
fmt.Println("Printing curent Array", array)
}
fmt.Println("Final Array", array)
}
但奇怪的是这些事情并没有出乎意料。如果假设我想让这件事发生(输入)。
2
1 2
3 4
当我运行这个程序时,会得到以下结果。
2 //Dimension for matrix
1 //Iteration one begins
2
Printing current Row [1 2]
Printing curent Array [[1 2]]
3 //Iteration two begins
4
Printing current Row [3 4]
Printing curent Array [[3 4] [3 4]]
Final Array [[3 4] [3 4]]
我不明白为什么使用APPEND函数会导致重复的条目。 因此,想知道如何纠正这个问题以及其中的概念。