2019-10-05 16:12:52 +03:00

51 lines
2.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Карты - это встроенный [ассоциативный тип данных](http://en.wikipedia.org/wiki/Associative_array)
// Go (иногда называемый _хешами_).
package main
import "fmt"
func main() {
// Для создания пустой карты, используйте `make`:
// `make(map[key-type]val-type)`.
m := make(map[string]int)
// Вы можете установить пару ключ/значение
// используя привычный синтаксис `name[key] = val`
m["k1"] = 7
m["k2"] = 13
// Вывод карты на экран с помощью `fmt.Println`
// выведет все пары ключ/значение
fmt.Println("map:", m)
// Получить значение по ключу `name[key]`.
v1 := m["k1"]
fmt.Println("v1: ", v1)
// Встроенная функция `len` возвращает количество
// пар ключ/значение для карты.
fmt.Println("len:", len(m))
// Встроенная функция `delete` удаляет пару key/value
// из карты.
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)
}