Мне бы хотелось иметь какую-то "зацепку", которая запускается всякий раз, когда я получаю определенный тип объекта из базы данных. Я думал, что интерфейс Unmarshaler
идеально подходит для этого, но ... Как я могу реализовать этот интерфейс, не разбирая вручную все поля самостоятельно?
Я думал сделать что-то вроде этого:
func (t *T) UnmarshalBSON(b []byte) error {
// Simply unmarshal `b` into `t` like it would otherwise
bson.Unmarshal(b, t) // Obviously this won't work, it'll be an infinite loop
// Do something here
return nil
}
Как я могу добиться этого, не разбирая вручную поля с помощью рефлекса pkg?