我有两个独立的包,其中struct实现了相同的功能。实际上,大多数函数的代码也是相同的。例如。
package #1
type T1 struct {
Message string
ID string
}
func (t *T1) GetID() {
return t.ID
}
func (t *T1) GetRedisID() {
return "t1" // hardcoded
}
package #2
type T2 struct {
ClassName string
ID string
}
func (t *T2) GetID() {
return t.ID
}
func (t *T2) GetRedisID() {
return "t2" // hardcoded
}
我想保留这两个软件包之间的通用功能。在Go中可以做什么选择。
我不能在这里使用接口,因为我想在结构中访问变量并保持函数通用。我不想在这两个文件中重新实现该功能。