Модификация фокуса #1
package main
import "fmt"
type T struct{}
func (t T) foo() { fmt.Printf("foo: received type %T, ", t) }
func (t *T) bar() { fmt.Printf("bar: received type %T, ", t) }
func main() {
t := T{}
pt := &t
pt.foo()
fmt.Printf("passed type %T\n", pt)
t.foo()
fmt.Printf("passed type %T\n", t)
pt.bar()
fmt.Printf("passed type %T\n", pt)
t.bar()
fmt.Printf("passed type %T\n", t)
} Run
4