Рефлексия тэгов
Мы можем проверять теги полей структуры с помощью рефлексии. Типы тегов поля структуры: reflect.StructTag, который имеет два метода, Get и Lookup, для проверки пар ключ-значение, указанных в тегах поля. Пример проверки тегов полей структуры показан на скриншоте.
Обрати внимание:
-
Ключи тега не могут содержать символы пробела (значение Unicode 32), кавычек (значение Unicode 34) и двоеточия (значение Unicode 58).
-
Чтобы сформировать действительную пару ключ-значение, пробелы не могут следовать за точкой с запятой в предполагаемой паре ключ-значение. Поэтому `optional: "yes"` не образует пары ключ-значение.
-
Символы пробела в значениях тегов важны (их не следует игнорировать). Так
`json:"author, omitempty"`
`json:" author,omitempty"`
`json:"author,omitempty"` отличаются друг от друга. -
Каждый тег поля структуры должен быть представлен в виде одной строки, чтобы быть полностью значимым.