Go를 쓰다가 헷갈리는 내용을 그때그때 정리해 메모.
{}로 값 집합을 표현: 타입과 값을 동시에 정의하여 간결한 코드 작성 가능&Person{"Bob", 25})// array
arr := [3]int{1, 2, 3}
// slice
slice := []string{"a", "b", "c"}
// map
m := map[string]int{
"apple": 5,
"banana": 3,
}
// struct
type Person struct {
Name string
Age int
}
p := Person{"Alice", 30}
| 이름 | 타입 | 크기 고정 여부 | 함수 전달 시 | 메모리 구조 |
|---|---|---|---|---|
| Array | value | O | 복사 | 연속된 값 저장 |
| Slice | reference | O | 내부 배열 참조 | 포인터 (ptr), 길이 (len), 용량 (cap)의 구조체 |
| Map | reference | O | 참조 공유 | 해시 테이블 (key-value) |