Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmMpCl 196 of 350 menu
◀ ▶

Очистка карты в Go

Очистка убирает все пары и оставляет карту пустой. Переменная по-прежнему указывает на ту же созданную карту: после очистки в нее снова можно писать. Длина становится 0.

Заполним карту, очистим и проверим длину:

ages := map[string]int{"ann": 20, "bob": 30} fmt.Println(len(ages)) clear(ages) fmt.Println(len(ages)) ages["cy"] = 25 fmt.Println(ages["cy"])

Сначала длина 2, после очистки 0. Новая запись по ключу "cy" работает: карта не стала «нулевой», только опустела.

Очистку можно сравнить с удалением каждого ключа в цикле, но одной командой короче. Удалять ключи по одному тоже допустимо, если нужна выборочность.

room := make(map[string]int) room["a"] = 1 clear(room) fmt.Println(len(room) == 0)

Дана следующая карта:

desk := map[string]int{"a": 1, "b": 2}

Очистите desk и выведите длину и результат сравнения длины с 0.

Дана следующая карта:

box := map[string]int{"x": 10, "y": 20}

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

Чем очистка отличается от присваивания новой пустой карты в ту же переменную? Подсказка: старые ссылки на карту из других переменных.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить