Длина карты в Go
Длина карты - это число ее пар. Считаются только
существующие ключи, без «дырок» как у массива.
Пустая созданная карта дает длину 0,
и объявленная без создания тоже дает 0,
хотя запись в них ведет себя по-разному.
Измерим литерал с двумя людьми и карту после добавления:
ages := map[string]int{"ann": 20, "bob": 30}
fmt.Println(len(ages))
room := make(map[string]int)
fmt.Println(len(room))
room["a"] = 1
fmt.Println(len(room))
Сначала 2, затем 0 и 1.
После удаления пары длина уменьшается, после
нового ключа растет.
Замена значения по существующему ключу длину не меняет:
ages := map[string]int{"ann": 20}
ages["ann"] = 99
fmt.Println(len(ages))
Дана следующая карта:
row := map[string]int{"a": 1, "b": 2, "c": 3}
Выведите длину row.
Даны переменные:
desk := make(map[string]int)
Добавьте три ключа, удалите один и выведите длину.
Даны переменные:
var m map[string]int
fresh := make(map[string]int)
Выведите длины m и fresh
без записей. Числа совпадают?