Скажем, у меня есть struct
, что я связываю json
Param данные нравитсяСоздание интерфейса для JSON структуры в golang
type User struct {
FirstName string `json:"firstName"`
}
Атрибут FirstName
должен быть капитализированы таким образом, чтобы json
значения могут быть переплетены в структуры ,
Но я также хочу создать interface
, чтобы принять любые struct
, который имеет атрибут FirstName
. Поскольку FirstName
уже заглавны и взяты, я должен назвать метод что-то еще.
type NameInterface interface {
FirstName() string // nope
FirstNameValue() string // maybe?
}
Но, кажется, действительно странно, чтобы добавить вспомогательную функцию для каждого атрибута на всех моих json
struct
с только, чтобы они могли работать с interface
. Есть ли что-то, что я недопонимаю, или шаблон программирования, который мне не хватает? Каков наилучший способ получить json
struct
для работы с interfaces
в go
?
Больше (то, что я пытаюсь сделать):
Я хочу, чтобы разобрать json
Params, которые идут от моего controllers
в structs
. Затем передайте данные struct
в filters
, которые затем запускают команды sql
для фильтрации данных на основе данных параметров. Я хотел использовать interfaces
, поэтому могу перейти в structs
, созданный из разных источников, в мой filters
.
Вашей «Больше» информация звучит как фильтры должны работать на интерфейсах, а декодирование JSON полностью происходит на материальных структуры, которая звучит разумно, и вам не нужны JSON декодировать на интерфейсы. Может быть, вы должны показать реальный код, так как я не вижу здесь каких-либо трудностей: что не так, реализуя методы, которые ваши структуры должны соответствовать интерфейсу? – Volker