Карты - это встроенный ассоциативный тип данных Go (иногда называемый хешами). |
|
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)
|
Необязательное второе возвращаемое значение из карты сообщает о том, существовал ли ключ в карте. Это может быть использовано для устранения неоднозначности между отсутствующими ключами и ключами с нулевыми значениями, такими как 0 или “”. Здесь нам не нужно само значение, поэтому мы проигнорировали его с пустым идентификатором _. |
_, 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[bar:2 foo:1]
|
Следующий пример: Ряд (Range).