为了账号安全,请及时绑定邮箱和手机立即绑定

Go 语言中数据类型的判断

标签:
Go


Go 语言中数据类型的判断,本文介绍三种方法。

方法一:使用i.(type)结合空接口(interface{})

func main() {

    v1 := "中国你好"

    v2 := 20

    var v3 byte = 65

    fmt.Printf("v1的数据类型为:%s\n", checkType(v1))

    fmt.Printf("v2的数据类型为:%s\n", checkType(v2))

    fmt.Printf("v3的数据类型为:%s\n", checkType(v3))

}

func checkType(i interface{}) string{

    switch  i.(type) {

    case string :

        return "string"

    case int :

        return "int"

    case byte :

        return "byte"

    }

    return ""

}

输出:

v1的数据类型为:string

v2的数据类型为:int

v3的数据类型为:byte

注意:i.(type) 只能在switch中使用

方法二:使用fmt中的格式化输出%T

func main() {

    v1 := "中国你好"

    v2 := 20

    var v3 byte = 65

    fmt.Printf("v1的数据类型为:%T\n", v1)

    fmt.Printf("v2的数据类型为:%T\n", v2)

    fmt.Printf("v2的数据类型为:%T\n", v3)

}

输出:

v1的数据类型为:string

v2的数据类型为:int

v2的数据类型为:uint8

说明:byte与uint8是同一类型

方法三:使用reflect反射中的TypeOf函数

func main() {

    v1 := "中国你好"

    v2 := 20

    var v3 byte = 65

    fmt.Printf("v1的数据类型为:%v\n", reflect.TypeOf(v1))

    fmt.Printf("v2的数据类型为:%v\n", reflect.TypeOf(v2))

    fmt.Printf("v3的数据类型为:%v\n", reflect.TypeOf(v3))

}

输出:

v1的数据类型为:string

v2的数据类型为:int

v2的数据类型为:uint8

©著作权归作者所有:来自51CTO博客作者thao888的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消