Переменные, объявленные без начального значения, устанавливаются в их нулевые значения:
- 0 для всех целочисленных типов,
- 0.0 для чисел с плавающей запятой,
- false для логических значений (bool),
- "" для строк,
- nil для интерфейсов, срезов, каналов, карт, указателей и функций.
Элементы массива или структуры будут обнулять свои поля, если не указано значение. Эта инициализация выполняется рекурсивно:
type T struct {
n int
f float64
next *T
}
fmt.Println([2]T{}) // [{0 0 <nil>} {0 0 <nil>}]
Читайте также:
- Эффективный Go: данные, аллокация с помощью new
- Спецификация Go: переменные (variables)
- Эффективный Go: конструкторы и составные литералы
- Спецификация Go: инициализация и выполнение программы, нулевое значение
Комментариев нет:
Отправить комментарий