💬Что такое `json:,omitempty` в контексте структур Go?
🔹Если вы читали предыдущий пост, наверняка заметили упоминание аннотации `
🔹`
🔹В приведенном выше примере без тега
👉 Подробнее
🔹Если вы читали предыдущий пост, наверняка заметили упоминание аннотации `
json:,omitempty
`. Например:type fruit struct {
Name string
Length int `json:,omitempty`
}
🔹`
json:,omitempty
` — это тег JSON для поля в структуре. Если при демаршаллинге данных JSON в структуру это конкретное поле пусто, оно будет игнорироваться. Без тега omitempty
будет использоваться значение по умолчанию.🔹В приведенном выше примере без тега
omitempty
поле длины будет заполнено значением int 0
. Если тип пустого поля — строка, "" (пустая строка) будет значением по умолчанию. Аналогично, значение по умолчанию для логического типа — false
, nil
для указателя, интерфейса, среза и мапы.