У меня есть несколько структур, которые имеют одно общее поле;давайте назовем это common
здесь
type Struct1 struct {
foo string
bar string
common string
}
type Struct2 struct {
baz int
qux string
common string
}
Я хочу создать функцию, которая принимает Interface
в качестве ввода и обнуляет common
.Доступные типы структуры не будут известны во время компиляции, поэтому я не могу создать отдельную функцию для каждого типа и не могу использовать оператор switch.
PS: В моем случае использованияЯ хочу обнулить common
, потому что он содержит время создания каждой структуры, и я хочу отслеживать историю структуры, поэтому я буду знать, если она изменится.Наличие времени создания внутри структуры испортит это, потому что время создания будет отличаться каждый раз, когда генерируется новая структура, даже если ее фактические данные могут быть одинаковыми.