am working in Golang, am trying to use interfaces to agroup a set of structs that are using a similar method. Briefly I have this:
type Person interface {
    BasicInfo() MemberBasicInfo
}
type MemberBasicInfo struct {
    ID                         uint       
    MemberFirstName            string     
    MemberNickname             string     
    MemberEmail                string    
}
Then, the structs that should work as interfaces:
func (member *Member) BasicInfo() MemberBasicInfo{
    return MemberBasicInfo{
        ID: member.ID,
        ...other mapping here...
    }
}
func (user *User) BasicInfo() MemberBasicInfo{
    return MemberBasicInfo{
        ID: uint(user.ID),
        ...other mapping here...
    }
}
cannot use memberData (type Member) as type Member.Person in return argument: Member does not implement Person (BasicInfo method has pointer receiver)
cannot use memberData (type User) as type Person in return argument: User does not implement Person (BasicInfo method has pointer receiver)
What am I missing? or what am I doing wrong?
 
     
    