Why can't Go resolve methods declared on the pointer receiver of the 
destination type?

consider:

type foo struct{
bar int
}

type Foo *foo

func (f *foo) GetBar() int {
return f.bar
}

func NewFoo(bar int) Foo {
return &foo{bar: bar}
}

func main() {
f1 := &foo{bar: 123}
fmt.Printf("%d\n", f1.GetBar())
f2 := NewFoo(456)
fmt.Printf("%d\n", f2.GetBar())
}


(playground link: https://play.golang.org/p/v0f9pYaTJAa )

it fails to compile with "prog.go:25:23: f2.GetBar undefined (type Foo has 
no field or method GetBar)" but it's not clear to me, why Foo doesn't get 
pointer methods from *foo.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to