Практика на рефлексию в Go
Дана структура:
type City struct {
Name string
}
c := City{Name: "oslo"}
Выведите имя типа c и его вид
на отдельных строках.
Дана структура:
type Book struct {
Title string
Author string
}
b := Book{Title: "learn", Author: "ann"}
Переберите поля b и выведите
каждое имя поля с его значением.
Дана структура:
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
Выведите текст метки json для
поля Age, не создавая значение
структуры.
Дано значение:
type Score struct {
Points int
}
s := Score{Points: 5}
Через указатель запишите в поле Points
число 10 и выведите s.Points.
Дана структура:
type Label struct {
Text string
}
func (l Label) Upper() string {
return l.Text
}
l := Label{Text: "go"}
Вызовите метод Upper у l
по строковому имени и выведите ответ.
Дан следующий срез:
nums := []int{1, 2, 3}
Узнайте вид nums и скажите, совпадет
ли он с видом у структуры User
с полем Name.