MINGKYME 블로그

Go 배열의 연산

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]
}

길이가 지정된 배열과 길이가 없는 배열은 다르게 동작한다.