package main
import (
"fmt"
)
func main() {
// 얉은 복사
var list1 []int
var list2 []int
list1 = []int{1, 2, 3}
list2 = list1[:]
list2[0] = 123
fmt.Println(list1) // [123 2 3]
fmt.Println(list2) // [123 2 3]
// 깊은 복사
var list3 [3]int
var list4 [3]int
list3 = [3]int{1, 2, 3}
list4 = list3
list4[0] = 123
fmt.Println(list3) // [1 2 3]
fmt.Println(list4) // [123 2 3]
}
길이가 지정된 배열과 길이가 없는 배열은 다르게 동작한다.