//go:build OMIT | |
package main | |
import ( | |
"fmt" | |
"math" | |
) | |
type I interface { | |
M() | |
} | |
type T struct { | |
S string | |
} | |
func (t *T) M() { | |
fmt.Println(t.S) | |
} | |
type F float64 | |
func (f F) M() { | |
fmt.Println(f) | |
} | |
func main() { | |
var i I | |
i = &T{"Hello"} | |
describe(i) | |
i.M() | |
i = F(math.Pi) | |
describe(i) | |
i.M() | |
} | |
func describe(i I) { | |
fmt.Printf("(%v, %T)\n", i, i) | |
} |