Что такое zero value в Go?

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

Zero value — значение по умолчанию, которое переменная получает без явной инициализации. В Go всё имеет zero value, нет "неинициализированных" переменных. int → 0, string → "", bool → false, pointer → nil, slice → nil, map → nil, struct → все поля zero value. Это сознательное решение дизайна — код предсказуем, нет мусора в памяти как в C. Многие типы стандартной библиотеки спроектированы для полезного zero value: sync.Mutex{} готов к использованию, bytes.Buffer{} — пустой буфер.

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

White box vs black box testing?