package main
import "fmt"
//编写一个函数,可以判断输入的参数是什么类型
type Student struct {
name string
}
func TypeJudge(items... interface{}) {
for index,x := range items{
switch x.(type) {
case bool:
fmt.Printf("第%v个参数是bool类型,值是%v\n",index,x)
case float32:
fmt.Printf("第%v个参数是float32类型,值是%v\n",index,x)
case float64:
fmt.Printf("第%v个参数是float64类型,值是%v\n",index,x)
case int , int32,int64:
fmt.Printf("第%v个参数是整数类型,值是%v\n",index,x)
case string:
fmt.Printf("第%v个参数是string类型,值是%v\n",index,x)
case *Student:
fmt.Printf("第%v个参数是指针类型类型,值是%v\n",index,x)
case Student:
fmt.Printf("第%v个参数是Student类型,值是%v\n",index,x)
default:
fmt.Printf("第%v个参数类型不确定,值是%v\n",index,x)
}
}
}
func main() {
var n1 float32 = 1.1
var n2 float64 = 2.3
var n3 int32 = 30
name := "tom"
address := "北京"
n4 := 300
stu1 := Student{"tom"}
stu2 := &Student{"sunwenbo"}
TypeJudge(n1,n2,n3,n4,name,address,stu1,stu2)
}
golang 多个值类型断言
最新推荐文章于 2023-07-03 22:48:13 发布