Основы Go

Go Maps

Store values under keys: add, read, check, delete and loop in a fixed order.

  • Начальный
  • Чтение: 3 мин
  • Примеров для запуска: 1
Что вы узнаете
  • Creating and updating
  • The value, ok form
  • Sorting the keys
stock
"apple"5
"pear"5
"plum"1

Values found by key

A map stores values under keys, so you can find a value quickly by its key. It is Go's version of a dictionary or hash table.

Reading a missing key returns the zero value, so the second result, found, tells you whether the key exists. delete removes a key. A map has no fixed order, so the keys are collected and sorted before printing.

Главное

  1. A missing key reads as the zero value.
  2. value, found := m[key] tells you if it exists.
  3. Map order is random: sort the keys.

Пример на Go, который можно запустить

Go
Запустить код →
main.go
package main

import (
	"fmt"
	"sort"
)

func main() {
	stock := map[string]int{"apple": 3, "pear": 5}
	stock["plum"] = 1
	stock["apple"] += 2

	fmt.Println(stock["apple"], len(stock))

	count, found := stock["kiwi"]
	fmt.Println(count, found)

	delete(stock, "pear")

	names := make([]string, 0, len(stock))
	for name := range stock {
		names = append(names, name)
	}
	sort.Strings(names) // map order is random, so sort the keys
	for _, name := range names {
		fmt.Println(name, stock[name])
	}
}
Получить кнопку запуска для этого примера Результат выполнения
5 3
0 false
apple 5
plum 1

Практика

Откройте пример в онлайн-компиляторе, измените значение или добавьте строку и попробуйте предсказать вывод до запуска. Затем намеренно сломайте код и прочитайте сообщение компилятора.

Закончили этот урок?

Отметьте его как изученный, чтобы следить за прогрессом.

Далее: Word Frequency Counter →

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи