Попытка создать интерфейс, но методы имеют * Тип
, а не Тип
приемники
ИЗВИНЯЙСЯ: был сонным и неправильно читал сообщения об ошибках. Думал, что мне блокируют создание интерфейса БД, хотя на самом деле я неправильно его использовал. Извините за это ... буду более осторожным в будущем!
type Char string func (*Char) toType(v *string) interface{} { if v == nil { return (*Char)(nil) } var s string = *v ch := Char(s[0]) return &ch } func (v *Char) toRaw() *string { if v == nil { return (*string)(nil) } s := *((*string)(v)) return &s }
отсюда мне нужен интерфейс, содержащий методы toType
и toRaw
type DB interface{ toRaw() *string toType(*string) interface{} }
не работают, так как функции-приемники указатели. Я говорю это, потому что, когда я пытаюсь использовать его, я получаю ошибку. K
Char does not implement DB (toRaw method requires pointer receiver)
Есть ли способ создать интерфейс из toType
и toRaw
, или мне нужно сделать резервную копию и должны ли получатели быть самими типами, а не указателями на типы?