【发布时间】:2022-10-30 15:38:26
【问题描述】:
想象一下我有这两个结构:
type Game struct {
Name string
MultiplayerSupport bool
Genre string
Version string
}
type ERP struct {
Name string
MRPSupport bool
SupportedDatabases []string
Version string
}
我想要一个附加到这些结构的函数,它将打印Version 变量
func (e *ERP) PrintVersion() {
fmt.Println("Version is", e.Version)
}
我知道我可以使用接口,但我仍然必须为这两个结构定义两个相同的函数,即代码重复。
防止代码重复的最佳做法是什么?
附言在使用“此问题已在此处有答案”标记之前,这不是同一个问题,因为在以下问题中,结构之间的字段名称不同。
Best practice to use the same function with different structs - Golang
【问题讨论】: