Skip to content

Рефлексия тэгов

Мы можем проверять теги полей структуры с помощью рефлексии. Типы тегов поля структуры: reflect.StructTag, который имеет два метода, Get и Lookup, для проверки пар ключ-значение, указанных в тегах поля. Пример проверки тегов полей структуры показан на скриншоте.

Обрати внимание:

  • Ключи тега не могут содержать символы пробела (значение Unicode 32), кавычек (значение Unicode 34) и двоеточия (значение Unicode 58).

  • Чтобы сформировать действительную пару ключ-значение, пробелы не могут следовать за точкой с запятой в предполагаемой паре ключ-значение. Поэтому `optional: "yes"` не образует пары ключ-значение.

  • Символы пробела в значениях тегов важны (их не следует игнорировать). Так
     `json:"author, omitempty"`
     `json:" author,omitempty"`
     `json:"author,omitempty"` отличаются друг от друга.

  • Каждый тег поля структуры должен быть представлен в виде одной строки, чтобы быть полностью значимым.