Attempting to create an interface, but methods have *Type, not Type receivers
APOLOGIZE: was sleepy and mis-read error messages. Thought I was being block from creating the DB interface when in reality I was mis-using it. Sorry about that... will be more careful in the future!
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
}
from here I would like an interface that contains the methods toType and toRaw
type DB interface{
toRaw() *string
toType(*string) interface{}
}
does not work since the function receivers are pointers. I say this because when I try to use it I get the error.k
Char does not implement DB (toRaw method requires pointer receiver)
Is there a way to create an interface from toType and toRaw, or do I need to backup and have the receivers be the types themselves and not pointers to types?
toRawandtoType. but cannot since the receivers to the funcs are pointers. is there any way to declare a DB interface that incorporatestoRawandtoType? - cc young