import ( "fmt" "math")type I interface { M()}type T struct {func (t *T) M() { fmt.Println(t.S)}type F float64func (f F) M() { fmt.Println(f)} i = &T{"Hello"} describe(i) i.M() i = F(math.Pi) describe(i) i.M()}func describe(i I) {