功能相同,结构不同

时间:2016-06-21 17:33:22

标签: go

我有两个独立的包,其中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中可以做什么选择。

我不能在这里使用接口,因为我想在结构中访问变量并保持函数通用。我不想在这两个文件中重新实现该功能。

0 个答案:

没有答案