❓ Почему код падает и как это исправить
Функция должна заполнить срез и мапу,
но сейчас она падает с panic.
В чём проблема?
func fillData(s []int, m map[string]int) {
// Добавляем в срез
s = append(s, 10, 20, 30)
// Добавляем в мапу
m["count"] = len(s)
m["total"] = 60
fmt.Println("Срез:", s)
fmt.Println("Мапа:", m)
}
func main() {
fillData(nil, nil)
}
💡 Подсказка: срез и мапа ведут себя по-разному
append к nil срезу работает нормально
запись в nil map → panic
🔥 В чём ошибка
m не инициализирована → это nil map
в неё нельзя записывать значения
Функция должна заполнить срез и мапу,
но сейчас она падает с panic.
В чём проблема?
func fillData(s []int, m map[string]int) {
// Добавляем в срез
s = append(s, 10, 20, 30)
// Добавляем в мапу
m["count"] = len(s)
m["total"] = 60
fmt.Println("Срез:", s)
fmt.Println("Мапа:", m)
}
func main() {
fillData(nil, nil)
}
💡 Подсказка: срез и мапа ведут себя по-разному
append к nil срезу работает нормально
запись в nil map → panic
🔥 В чём ошибка
m не инициализирована → это nil map
в неё нельзя записывать значения