Изменение поля в Go
Поле меняют записью по тому же имени через точку. Слева стоит выражение с полем, справа новое значение подходящего типа. Остальные поля того же значения структуры при этом не меняются.
Создадим пользователя и увеличим возраст:
type User struct {
Name string
Age int
}
u := User{Name: "ann", Age: 20}
u.Age = 21
fmt.Println(u.Age)
На экране 21. Имя Name осталось
"ann", изменилось только поле Age.
Так же можно заменить строковое поле новым текстом.
Поменяем подпись и снова выведем оба поля:
type User struct {
Name string
Age int
}
u := User{Name: "ann", Age: 20}
u.Name = "anna"
u.Age = 21
fmt.Println(u.Name)
fmt.Println(u.Age)
Дана структура:
type User struct {
Name string
Age int
}
u := User{Name: "ann", Age: 20}
Запишите в Age число 25 и выведите его.
Даны переменные:
type Note struct {
Title string
Done bool
}
n := Note{Title: "read", Done: false}
Поставьте Done в true и выведите n.
Дан следующий код:
type Score struct {
Home int
Away int
}
s := Score{Home: 1, Away: 0}
s.Home = 2
Выведите поле Away и скажите, изменилось ли оно.