我正在尝试在基本地图上定义其他方法 https://play.golang.org/p/3BKgxVJIjP1:
type Typ struct {
config string
}
type typeRegistry = map[string]Typ
func (r typeRegistry) Add(name string) {
typ := Typ{
config: "config",
}
r[name] = typ
}
这样做会失败:
invalid receiver type map[string]Typ (map[string]Typ is not a defined type)
在重构之前,该方法类似,但使用 a 而不是 :funcTyp
type typeRegistry map[string]func()
func (r typeRegistry) Add(name string, factory func()) {
r[name] = factory
}
这个版本有效。在映射类型接收器上定义其他方法有何不同?
素胚勾勒不出你
相关分类