marshal и unmarshal? У меня есть структура типа
type Test struct {
Type string json:"type"
Payload []NameGetter json:"payload"
}
type NameGetter interface {
GetName() string
}
и вот NameGetter реализует куча разных структур, которые определяются по типу в "Type". Если я просто запущу Unmarshal, то он выдаст ошибку о том, что невозможно анмаршлить в интерфейс. Поэтому пришлось сделать PayloadRaw []json.RawMessage + Payload []NameGetter, что очень неудобно, так как приходится в этой структуре все равно таскать этот PayloadRaw, который бы хотелось держать в отдельной переменной, а не структуре))
правильно ругается, откуда он знает, что там у тебя в интерфейсе, если бы он гарантировал marshal/unmarshal и сами объекты принимали решение о своеём поведении, это бы работало
Обсуждают сегодня