🔥 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 초기화가 간단하고 직관적이네요. 키와 값을 한 번에 설정할 수 있어서 편리합니다.