У меня есть несколько struct
с несколькими полями. Например,
type A struct {
Color string
Mass float
// ... other properties
}
type B struct {
Color string
Mass float
// ... other properties
}
У меня также есть функция, которая работает только с общими полями, скажем,
func f(x){
x.Color
x.Mass
}
Как бороться с такими ситуациями? Я знаю, что мы можем превратить цвет и массу в функции, затем мы можем использовать интерфейс и передать этот интерфейс функции f
. Но что, если типы A
и B
не могут быть изменены. Нужно ли определять две функции с практически одинаковой реализацией?