Go 슬라이스 복사
목차
copy(복사 대상, 원본)
make로 공간을 할당한 후 복사해야 한다. 복사된 슬라이스 값을 변경해도 원본에 영향 없음.
slice1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
slice2 := make([]int, 5)
slice3 := []int{}
copy(slice2, slice1) // → [1,2,3,4,5]
copy(slice3, slice1) // → 복사 안됨 (공간 할당을 안 했음)주의: 부분적 슬라이스 추출은 참조
c := [5]int{1, 2, 3, 4, 5}
d := c[0:3] // 주의! 부분 추출은 참조 → 원본 값이 변경된다
d[1] = 7
// c → [1, 7, 3, 4, 5]
// d → [1, 7, 3]