🟢 Лёгкий · 1 очк. Основы синтаксиса
Какой zero value у типа string?
A nil
B ""
C 0
D undefined
Объяснение вопроса

В Go у каждого типа есть zero value - значение по умолчанию при объявлении переменной без инициализации. Для типа string это пустая строка "", а не nil.

Почему не nil

Строка в Go - это не указатель, а значение. Типы с zero value nil - это указатели, слайсы, map, каналы, интерфейсы и функции. Примитивные типы (int, string, bool) имеют конкретные zero values.

var s string
fmt.Println(s == "")   // true
fmt.Println(len(s))    // 0
// s == nil - ошибка компиляции: нельзя сравнивать string с nil

Таблица zero values

  • int, float64 - 0
  • bool - false
  • string - ""
  • *T, слайс, map, канал - nil
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.