Проверка пустоты карты в Go
Пустую карту узнают по длине, равной нулю.
Готовой отдельной команды «пуста ли» нет: сравнивают
результат len с 0. Так проверяют
и только что созданную карту, и карту после
удаления всех пар.
Сравним новую пустую и карту с одной записью:
empty := make(map[string]int)
full := map[string]int{"a": 1}
fmt.Println(len(empty) == 0)
fmt.Println(len(full) == 0)
Для empty будет true, для full
false. Объявленная без создания карта
тоже дает длину 0 и пройдет такую проверку,
но писать в нее по-прежнему нельзя.
После очистки всех пар проверка снова покажет пустоту:
ages := map[string]int{"ann": 20}
delete(ages, "ann")
fmt.Println(len(ages) == 0)
Даны переменные:
slot := make(map[int]int)
Выведите, равна ли длина slot нулю.
Даны переменные:
box := make(map[string]int)
Выведите сравнение длины с 0 до
и после одной записи по новому ключу.
Почему проверка длины не отличает нулевую карту от пустой созданной? Что для этого нужно помнить из прошлого урока?