Что выведет: s := make([]int, 3); s = append(s, 1); fmt.Println(s)?

Junior
158 просмотров
AFK Offer AI

Выведет [0 0 0 1]. make([]int, 3) создаёт slice длиной 3 с zero values. append добавляет В КОНЕЦ, не заменяет. Частая ошибка: хотели [1] но получили [0 0 0 1]. Фикс: make([]int, 0, 3) — длина 0, capacity 3. Или s := []int{} и append. make([]int, n) инициализирует n нулевых элементов.

Следующий вопрос

Расскажи о ситуации когда дедлайн был нереалистичным.