🟡 Средний · 2 очк. Map
Как правильно скопировать map в Go?
A copy(dst, src)
B dst := src
C dst = maps.Clone(src) (Go 1.21+) или цикл for range
D Через fmt.Sprintf
Объяснение вопроса

Присваивание dst := src копирует только дескриптор map - оба указывают на одни и те же данные. copy() для map не применим. Правильно: цикл for k, v := range src { dst[k] = v } или с Go 1.21 функция maps.Clone(src).

dst := make(map[string]int, len(src))
for k, v := range src {
    dst[k] = v
}
// или (Go 1.21+):
dst = maps.Clone(src)

Clone создаёт поверхностную копию: ключи и значения копируются по значению. Если значения - указатели или слайсы, внутренние данные по-прежнему общие; для глубокой копии нужна рекурсивная логика.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.