Maps는 Go의 내장 연관 데이터 타입(associative data type) 입니다. (다른 언어에선 hashes 또는 dicts라고 부르기도 합니다.) |
package main
|
import "fmt"
|
|
func main() {
|
|
빈 맵을 생성하기 위해 내장 함수인 |
m := make(map[string]int)
|
|
m["k1"] = 7
m["k2"] = 13
|
맵 출력. |
fmt.Println("map:", m)
|
|
v1 := m["k1"]
fmt.Println("v1: ", v1)
|
|
fmt.Println("len:", len(m))
|
|
delete(m, "k2")
fmt.Println("map:", m)
|
맵에서 값을 꺼내오면서 반환되는 선택적인 두번째 반환값은 해당 키가 맵에 존재하는지에 대한 여부를 나타냅니다. 이는 키값이 존재하지 않는건지 또는 해당 값이 |
_, prs := m["k2"]
fmt.Println("prs:", prs)
|
또한 한 줄로 맵 선언 및 초기화를 할 수도 있습니다. |
n := map[string]int{"foo": 1, "bar": 2}
fmt.Println("map:", n)
}
|
참고로 맵을 |
$ go run maps.go
map: map[k1:7 k2:13]
v1: 7
len: 2
map: map[k1:7]
prs: false
map: map[foo:1 bar:2]
|
다음 예제: Range 문.