Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Golang: nil slice, length, capacity, append, panic

Что будет, если объявить слайс без инициализации?

Проверяет понимание нулевого среза и его безопасных операций.

Короткий ответ

Нулевой срез (var s []T) равен nil, имеет len=0 и cap=0. В него можно делать append — он автоматически аллоцирует новый массив. Чтение s[i] или range s безопасно (диапазон пуст), но запись через индекс приведёт к panic.

Длинный ответ

nil-срез:

  • s == nil, len(s)==0, cap(s)==0.

append:

  • s = append(s, value) создаёт новый массив.

range:

  • for _, v := range s { … } — тело не выполнится.

Чтение по индексу:

  • s[0] → panic: index out of range.

Пример:

var s []int
fmt.Println(s==nil)       // true
s = append(s,1,2,3)
fmt.Println(len(s),cap(s))// 3 4 (пример)
  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Golang

    Golang

Ключевые слова

#nil slice

#length

#capacity

#append

#panic

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.