Article Outline
golangでスライスの複製
TOC
Collection Outline
スライスの複製
- Golangではスライスを := を使って代入しても、参照するポインタが同じため、新しく宣言した方を変更したら元のやつも変更される。
s := []int{0, 10, 20, 30}
t := s
- それを回避するには、makeで同じ大きさのスライスの領域を確保してから、copyで複製をする。
s := []int{0, 10, 20, 30}
t := make([]int, len(s))
n := copy(t, s)