如何将相同的逻辑应用于不同的结构?
例如,更新结构的字段。我想UpdateName为结构 A 和 B 共享相同的逻辑
A 和 B 来自不同的包。
// model/A.go
type A struct {
name string
total int64
date time.Time
}
// model/B.go
type B struct {
name string
price float64
total int64
date time.Time
}
希望将重复的逻辑合二为一。
// service/a.go
func UpdateName(data *A) {
data.Name = "NEW"
}
// service/b.go
func UpdateName(data *B) {
data.Name = "NEW"
}
我想使用一个接口进行解耦。
此外,如何将接口解析为参数。
type DataSetter() interface {
SetName(name string)
SetTotal(total int64)
}
感谢您帮助我解决这个基本问题。
ibeautiful
相关分类