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

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的数据类型为:stringv2的数据类型为:intv3的数据类型为: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的数据类型为:stringv2的数据类型为:intv2的数据类型为: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的数据类型为:stringv2的数据类型为:intv2的数据类型为:uint8

点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消