Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmPtSP 275 of 350 menu
◀ ▶

Структура в параметре функции в Go

Параметр-указатель на структуру работает с тем же значением, которое передал вызывающий код. Запись в поле через такой параметр видна снаружи. Запишем функцию и выведем возраст после вызова:

package main import "fmt" type User struct { Name string Age int } func addYear(u *User) { u.Age += 1 } func main() { u := User{Name: "ann", Age: 20} addYear(&u) fmt.Println(u.Age) // выведет 21 }

Исправьте код так, чтобы новый возраст был виден снаружи функции:

package main import "fmt" type Employee struct { Name string Age int } func bump(emp Employee) { emp.Age += 1 } func main() { emp := Employee{Name: "ann", Age: 20} bump(emp) fmt.Println(emp.Age) }

Исправьте код так, чтобы новое имя было видно снаружи функции:

package main import "fmt" type Employee struct { Name string Age int } func rename(emp Employee) { emp.Name = "ben" } func main() { emp := Employee{Name: "ann", Age: 20} rename(emp) fmt.Println(emp.Name) }
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить