【发布时间】:2011-09-20 02:31:42
【问题描述】:
试图创建一个接口,但方法有*Type,而不是Type 接收器
APOLOGIZE:困了,误读了错误信息。以为我被阻止创建数据库接口,而实际上我误用了它。抱歉……以后会更加小心!
输入字符字符串 func (*Char) toType(v *string) 接口{} { 如果 v == nil { 返回 (*Char)(nil) } var s 字符串 = *v ch := 字符(s[0]) 返回&ch } func (v *Char) toRaw() *string { 如果 v == nil { 返回(*字符串)(无) } s := *((*string)(v)) 退货 }从这里我想要一个包含 toType 和 toRaw 方法的接口
不起作用,因为函数接收器是指针。我这样说是因为当我尝试使用它时,我得到了 error.k
Char 没有实现 DB(toRaw 方法需要指针接收器)有没有办法从toType 和toRaw 创建接口,还是我需要备份并让接收者成为类型本身而不是指向类型的指针?
【问题讨论】:
-
不知何故很难理解代码背后的想法。请提供更多信息。
-
尝试使用函数
toRaw和toType创建数据库接口。但不能,因为函数的接收者是指针。有什么方法可以声明包含toRaw和toType的数据库接口?