Литерал в Go
Готовое значение записывают, называя поля по именам.
После имени типа ставят фигурные скобки, внутри
пишут ИмяПоля: и значение, пары отделяют
запятой. Порядок полей в литерале может быть любым,
главное - совпадение имен с объявлением типа.
Запишем пользователя с именем и возрастом:
type User struct {
Name string
Age int
}
u := User{Name: "ann", Age: 20}
fmt.Println(u)
В переменной u оба поля заданы сразу.
Строка "ann" попала в Name,
число 20 в Age. Вывод показывает
структуру целиком с подписями полей.
Тот же тип можно заполнить другими данными, не меняя объявление:
type User struct {
Name string
Age int
}
b := User{Age: 30, Name: "bob"}
fmt.Println(b.Name)
fmt.Println(b.Age)
Дан тип с полями Label типа string
и Code типа int под именем
Tag. Создайте в t литерал
с "go" и 1 и выведите t.
Дана структура:
type User struct {
Name string
Age int
}
u := User{Name: "ann", Age: 20}
Выведите только поле Age из u.
Создайте литерал типа Pair с полями
First и Second типа int,
запишите 3 и 7, выведите оба поля.