// Карты - это встроенный [ассоциативный тип данных](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) }