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

【转自慕课】https://www.imooc.com

Go

使用 AWS 的 GO SDK 获取区域与终端节点信息

2022-3-3 4:48:16

Go

go基础系列:简介

2022-3-3 4:52:44

搜索