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









