Code Fix

中級スライスが元の配列を共有していて予期せぬ書き換えが起きる › パターン3

スライスが元の配列を共有していて予期せぬ書き換えが起きる

スライスを別のスライスから切り出すと、多くの場合は同じ配列を参照したままになります。

 1  package main
 2  
 3  import "fmt"
 4  
 5  func main() {
 6  	original := []int{5, 6, 7, 8, 9}
 7  	________________________________________
                         ^
 8  	sub[0] = 99
 9  	fmt.Println(original)
10  }
出力: [5 6 99 8 9]

空欄を埋めて実行を通す

広告
広告スロット(未設定)

スライスが元の配列を共有していて予期せぬ書き換えが起きる

一方を書き換えると、共有している範囲がもう一方にも影響します。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)