中級 › スライスが元の配列を共有していて予期せぬ書き換えが起きる › パターン4
スライスが元の配列を共有していて予期せぬ書き換えが起きる
スライスを別のスライスから切り出すと、多くの場合は同じ配列を参照したままになります。
1 package main 2 3 import "fmt" 4 5 func main() { 6 original := []int{1, 1, 1, 1} 7 ________________________________________ ^ 8 sub[0] = 99 9 fmt.Println(original) 10 }
出力: [1 99 1 1]
空欄を埋めて実行を通す
全要素が同じ値でも、スライス演算はコピーを作らないという性質は変わりません。
次の問題