tgoop.com/go_interview_lib/421
Create:
Last Update:
Last Update:
💬 Что из себя представляют теги структур в Go?
Теги структур — это аннотации, которые отображаются после типа в объявлении структуры Go. Каждый тег состоит из коротких строк, которым назначены определенные значения.
Они не влияют на саму логику программы, но позволяют контролировать процесс сериализации и десериализации данных, валидацию и многое другое.
Пример использования:
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
В этом примере к полям структуры
User
добавлены теги json
, которые указывают, как эти поля должны быть сериализованы в JSON. Тег json:"name"
говорит, что поле Name
должно быть представлено как "name"
в JSON, аналогично для поля Age
.Для работы с этими тегами можно использовать пакет
reflect
. Например, чтобы получить значение тега json
для поля Name
, можно использовать:
package main
import (
"fmt"
"reflect"
)
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
p := User{Name: "John Doe", Age: 30}
t := reflect.TypeOf(p)
field, ok := t.FieldByName("Name")
if ok {
fmt.Println(field.Tag.Get("json")) // Выведет: name
}
}
BY Библиотека Go для собеса | вопросы с собеседований
Share with your friend now:
tgoop.com/go_interview_lib/421