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

Практика на встраивание в Go

Дана структура:

package main import "fmt" type Address struct { City string } type User struct { Address Name string } client := User{ Address: Address{City: "oslo"}, Name: "leo", }

Выведите город поднятым полем и имя.

Даны переменные:

package main import "fmt" type Address struct { City string } func (a Address) Tag() string { return a.City } type User struct { Address Name string } u := User{ Address: Address{City: "berlin"}, Name: "mia", }

Выведите результат поднятого метода у u.

Дан следующий код:

package main import "fmt" type Address struct { City string } func (a Address) Tag() string { return a.City } type User struct { Address Name string } func (u User) Tag() string { return u.Name } u := User{ Address: Address{City: "oslo"}, Name: "ann", }

Выведите оба варианта подписи: короткий и через встроенный тип.

Объявите User со встроенным *Address, задайте указатель в литерале, измените город через поднятое поле и выведите его через Address.

Дана структура:

package main import "fmt" type Address struct { City string } type Contact struct { Email string } type Profile struct { Address Contact Name string } p := Profile{ Address: Address{City: "rome"}, Contact: Contact{Email: "sam@mail.example"}, Name: "sam", }

Выведите все поднятые строковые поля и имя.

Скажите, что произойдет при чтении поднятого поля у User со встроенным *Address, если указатель не задавали.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить