| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package main
- import "fmt"
- var i = 5
- var str = "ABC"
- type Person struct {
- name string
- age int
- }
- type Any interface{}
- func main() {
- var val Any
- val = 5
- fmt.Printf("val has the value: %v\n", val)
- val = str
- fmt.Printf("val has the value: %v\n", val)
- pers1 := new(Person)
- pers1.name = "Rob Pike"
- pers1.age = 55
- val = pers1
- fmt.Printf("val has the value: %v\n", val)
- switch t := val.(type) {
- case int:
- fmt.Printf("Type int %T\n", t)
- case string:
- fmt.Printf("Type string %T\n", t)
- case bool:
- fmt.Printf("Type boolean %T\n", t)
- case *Person:
- fmt.Printf("Type pointer to Person %T\n", *t)
- default:
- fmt.Printf("Unexpected type %T", t)
- }
- }
|