Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Что такое zero value у слайса?

Проверяет знание начального состояния незинициализированного среза.

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

Zero value слайса — это nil-срез. Он равен nil, имеет len=0 и cap=0. Его можно безопасно итерировать (range) и в него можно append, что создаст новый рабочий срез.

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

Nil-срез:

var s []T
fmt.Println(s == nil) // true
fmt.Println(len(s), cap(s)) // 0 0

Поведение:

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

  • range s не выполняет тело.

Отличие от пустого среза:

  • s := []T{} тоже len=0, cap=0, но s != nil.

Вывод:

Zero value гарантирует безопасное использование среза до явной инициализации.

  • Аватар

    Golang Guru

    Maxim Lukyanov

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    4

Навыки

  • Golang

    Golang

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

#zero value

#nil slice

#length

#capacity

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

  • Аватар

    Golang Guru

    Maxim Lukyanov

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