Нулевая структура в Go
Структура без записи получает нули во всех полях.
Для каждого поля берется нулевое значение его типа:
пустая строка, ноль для целого, false для
логического. Так работает объявление переменной
типа структуры без литерала справа.
Объявим пользователя без начальных данных:
type User struct {
Name string
Age int
}
var empty User
fmt.Println(empty.Name)
fmt.Println(empty.Age)
На экране пустая строка и 0. Переменная
empty уже имеет тип User, просто
поля пока не заполнены. Позже в поля можно записать
обычным присваиванием через точку.
Тот же прием с коротким объявлением через литерал без полей внутри скобок:
type User struct {
Name string
Age int
}
blank := User{}
fmt.Println(blank)
Объявите var empty User и выведите оба поля.
Дана структура:
type Flag struct {
Label string
On bool
}
var f Flag
Выведите Label и On и назовите
нулевые значения их типов.
Создайте z как User{}, запишите
в Name "new" и выведите z.