Карта (map) ассоциирует ключ и значение.
Нулевое значение карты это nil. Нулевая карта не содержит ключи, и ключи не могут быть добавлены.
Функция make возвращает карту заданного типа, инициализированную и готовую к использованию.
package main
import "fmt"
type Vertex struct {
Lat, Long float64
}
var m map[string]Vertex
func main() {
m = make(map[string]Vertex)
m["Bell Labs"] = Vertex{
40.68433, -74.39967,
}
fmt.Println(m["Bell Labs"])
}
Вывод:
{40.68433 -74.39967}
Литералы карт
Литералы карт похожи на литералы структур, но ключи обязательны.
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)
}
Вывод:
map[Bell Labs:{40.68433 -74.39967}
Google:{37.42202 -122.08408}]
Если тип верхнего уровня всего лишь имя типа, то вы можете не указывать его для элементов литерала.
package main
import "fmt"
type Vertex struct {
Lat, Long float64
}
var m = map[string]Vertex{
"Bell Labs": {40.68433, -74.39967},
"Google": {37.42202, -122.08408},
}
func main() {
fmt.Println(m)
}
Вывод:
map[Bell Labs:{40.68433 -74.39967}
Google:{37.42202 -122.08408}]
Читайте также:
- Основы языка Go: range, итерация по срезам и картам
- Основы языка Go: срезы (slices)
- Основы языка Go: размер и вместимость среза
Комментариев нет:
Отправить комментарий