mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 22:53:43 +08:00
33 lines
626 B
Go
33 lines
626 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
type specialString string
|
|
|
|
var whatIsThis specialString = "hello"
|
|
|
|
func TypeSwitch() {
|
|
testFunc := func(any interface{}) {
|
|
switch v := any.(type) {
|
|
case bool:
|
|
fmt.Printf("any %v is a bool type", v)
|
|
case int:
|
|
fmt.Printf("any %v is an int type", v)
|
|
case float32:
|
|
fmt.Printf("any %v is a float32 type", v)
|
|
case string:
|
|
fmt.Printf("any %v is a string type", v)
|
|
case specialString:
|
|
fmt.Printf("any %v is a special String!", v)
|
|
default:
|
|
fmt.Println("unknown type!")
|
|
}
|
|
}
|
|
testFunc(whatIsThis)
|
|
}
|
|
|
|
func main() {
|
|
TypeSwitch()
|
|
}
|
|
// Output: any hello is a special String!
|