💬Что такое `json:,omitempty` в контексте структур Go?



🔹Если вы читали предыдущий пост, наверняка заметили упоминание аннотации `json:,omitempty`. Например:



type fruit struct {

Name string

Length int `json:,omitempty`


}



🔹`json:,omitempty` — это тег JSON для поля в структуре. Если при демаршаллинге данных JSON в структуру это конкретное поле пусто, оно будет игнорироваться. Без тега omitempty будет использоваться значение по умолчанию.



🔹В приведенном выше примере без тега omitempty поле длины будет заполнено значением int 0. Если тип пустого поля — строка, "" (пустая строка) будет значением по умолчанию. Аналогично, значение по умолчанию для логического типа — false, nil для указателя, интерфейса, среза и мапы.



👉 Подробнее