Golangは良い関数です-copy()


既知の関数


プログラマーの問題を解決します.
v := array[commands[i][0]-1 : commands[i][1]]
このように変数を作成すると、v値が変更され、array値も変更されます.
コードに変更可能な部分はありませんが、なぜ変更したのか分かりませんので、探してみました.
スライス値を新しい変数に代入するだけです.
参照メモリの場所にポインタをコピーします.
みんなが値切る.
次に、新しいスライスを作成します.
チップはcopy()関数でコピーする必要があります.
oldSlice := []int{1, 2, 3, 4, 5}
newSlice := make([]int, len(oldSlice))
copy(newSlice, oldSlice)
使用