🔥 Map 리터럴
198자
2분
Map 리터럴을 사용하면 Map을 초기화하면서 키와 값을 설정할 수 있습니다. Map 리터럴은 struct 리터럴과 유사한데, 차이점은 Map 리터럴에서는 키를 반드시 지정해야 한다는 거예요.
아래 코드를 살펴보겠습니다:
package main import "fmt" type Vertex struct { Lat, Long float64 } var m = map[string]Vertex{ "Bell Labs": Vertex{ 40.68433, -74.39967, }, "Google": Vertex{ 37.42202, -122.08408, }, } func main() { fmt.Println(m) }
go
코드를 하나씩 뜯어보면:
type Vertex struct { Lat, Long float64 }
go
- Vertex라는 struct 타입을 정의하고 있어요.
- Vertex는 Lat와 Long이라는 두 개의 float64 필드를 가지고 있죠.
var m = map[string]Vertex{ "Bell Labs": Vertex{ 40.68433, -74.39967, }, "Google": Vertex{ 37.42202, -122.08408, }, }
go
m
이라는 변수를 선언하면서 Map 리터럴로 초기화하고 있습니다.- Map의 키는 string 타입이고, 값은 Vertex 타입이에요.
- "Bell Labs"와 "Google"이라는 두 개의 키를 지정했는데, 각 키마다 Vertex 값을 설정하고 있죠.
- Vertex 값은 중괄호
{}
로 감싸고, 그 안에 Lat와 Long 값을 콤마로 구분해서 나열합니다.
func main() { fmt.Println(m) }
go
- main 함수에서는 그냥
m
을 출력하고 있어요. - 이 코드를 실행하면 아래와 같이 출력될 거예요:
map[Bell Labs:{40.68433 -74.39967} Google:{37.42202 -122.08408}]
text
Map 리터럴을 사용하니 Map 초기화가 간단하고 직관적이네요. 키와 값을 한 번에 설정할 수 있어서 편리합니다.