• 免费注册  马上登录
  • 切换到窄版
  • go语言|go语言部落|go文库

    查看: 190|回复: 0

    空接口的类型判断

    [复制链接]

    16

    主题

    17

    帖子

    74

    积分

    网站编辑

    Rank: 8Rank: 8

    积分
    74
    发表于 2019-12-3 18:22:05 | 显示全部楼层 |阅读模式
    空接口的类型判断

    package main

    import "fmt"

    //类型断言1
    func lxdy(a interface{}){
       fmt.Printf("输入的是%T\t",a)
       i,ok :=a.(int)
       if !ok{
          fmt.Printf("输入错误的类型,不是int类型\n")
       }else {
       fmt.Println("输入的值为:",i)
        }
    }
    //类型断言2
    func lxdy2(a interface{}){
       fmt.Printf("输入的是%T\t",a)
       switch a.(type) {
       case int:
          fmt.Println(a,"是一个int类型")
       case int64:
          fmt.Println(a,"是一个int64类型")
       case string:
          fmt.Println(a,"是一个string类型")
       case bool:
          fmt.Println(a,"是一个bool类型")
       }
    }
    func main(){
       lxdy(10)
       lxdy("go语言部落")
       fmt.Println("...................分割线..................")
       lxdy2(1100)
       lxdy2("golang.net")

    }


    打印结果:

    输入的是int        输入的值为: 10
    输入的是string        输入错误的类型,不是int类型
    ...................分割线..................
    输入的是int        1100 是一个int类型
    输入的是string        golang.net 是一个string类型



    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Go语言社区

    GMT+8, 2020-7-14 08:50 , Processed in 0.042568 second(s), 17 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表