前提・実現したいこと
Goではあるスライスに対して空のスライスを使って別のスライスを複製した場合、
pythonと違い元のスライスの値が変更されると、その影響を受けます。
元のスライスの影響を受けない複製方法はありますか?
追記: 空のappend( b := append(a, ) )でいけそうな気がしましたが、
この場合エラーにはなりませんが、通常のappendと違い実際はbはaのコピーのようです。
出力結果
[33] [33]
該当のソースコード
go
1package main 2 3import ( 4 "fmt" 5) 6 7func main() { 8 a := []int{11} 9 b := a[:] 10 11 a[0] = 33 // b も 33 になる 12 13 fmt.Println(a, b) 14} 15
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/17 08:05