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

原文地址:http://blog.51cto.com/634435/2112208

时间: 2024-11-09 01:49:14

Go 语言中数据类型的判断的相关文章

从头开始-03.C语言中数据类型

基本数据类型 整形: Int 4字节 %d / %i Short 2字节 %hd Long 8字节 %ld Longlong 8字节 %lld Unsigned 4字节 % 浮点型 单精度 Float 4字节 %f 双精度 Double 8字节 %lf 字符  char   1字节   %c 枚举:当一个变量只用几个固定的取值的时候使用枚举 特点:先定义枚举类型,然后使用枚举类型定义枚举变量 作用:提高代码的可读性,方便程序员之间的交流 注意:枚举类型的实质是整形 枚举定义的每一个成员都代表一个

C#语言中常用的判断语句和循环语句

C#语言中,我们常用的判断语句和循环语句都有哪些呢? 1.if判断 代码格式:if(条件1){ 代码1 }else if(条件2){ 代码2               }else{ 代码N} 意义为:如果条件1成立,则执行代码1,否则判断条件2是否成立,如果成立,则执行代码2,如果以上条件都不成立,执行代码N. 注意:else部分可以省略,省略之后,意义变为"如果以上条件不成立,判断结束":else if 部分可以重复任意次数(一个不写,意义变为如果条件1成立执行代码1,否则执行代码

C语言中数据类型的长度

面试中C里面int长度经常会被问到,下面总结一下作为资料: 首先看看一般规定: 标准c规定,int长度等于机器字长,short的表示范围不能大于int的表示范围,long的表示范围不能小于int的表示范围.在32为平台上(所谓32位平台是指通用寄存器的数据宽度是32)编写代码,short一般是16位,而long和int是32位.而在16位平台,int 和 short 一般都是16位,而long是32位. 下面写代码实际测试一下: #include <stdio.h> #include <

&lt;limits.h&gt;c语言所有数据类型最大值和最小值的规定

ISO C标准对C语言中数据类型的大小做了要求,下表展示了这个要求,其中有不同数据类型的最小值的要求,也有在32bit和64bit操作系统下的实现. C语言数据类型大小规定与实现 名称 说明 可接受的最小值 32bit系统典型值 64bit系统典型值 CHAR_BIT char的位数 8 8 8 CHAR_MAX char的最大值   127 127 CHAR_MIN char的最小值   -127 -127 SCHAR_MAX signed char的最大值 127 127 127 SCHAR

Java语言中关于数据类型的一些总结

一.Java语言中有两种数据类型 基本数据类型:即int/char等这样的数值类型,共8种 1.byte byte 数据类型是8位.有符号的,以二进制补码表示的整数 范围是-27--(27-1): byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一: 例子:byte a = 100,byte b = -50. 2.short short 数据类型是 16 位.有符号的以二进制补码表示的整数; 范围是-215--(215-1); Shor

《黑马程序员》C语言中的基本数据类型 (C语言)

C语言中基本数据类型共分为三类:分别为整型.浮点型.和字符型. 整型(int): 整型数据包含了所有的整数,例如:20.15.-19.987等 浮点型(float\double): float:单精度浮点型,也是小数,比double的精确程度低,也就是说所能表示的小数位数比较少.为了跟double区分开来,float 型数据都是以f结尾的,比如8.26f.-3.19f.0.0f.需要注意的是,绝对不能有100f这样格式的,编译器会直接报错,只有小数才允许加上f. double:双精度浮点型,其实

C语言中的数据类型

C语言中基本的数据类型有: 整型: 分为有符号整型(signed)和无符号整型(unsigned ), 它们各自又可以分为 长整型(long), 短整型(short), 整型(int)和字符型(char), 所以结合起来一共有8种基本的整型结构: long/short/int/char/unsigned long/unsigned short/unsigned int/unsigned char; 浮点型:分为单精度 float , 双精度型:double; (补充:整型表示的数的范围: 说到了

数据处理程序语言中的基本数据类型

程序语言根据其设计目的不同,其侧重的基本数据类型也不同.JAVA.C#等语言被设计用来进行通用的应用程序开发,其基本数据类型是字符串.数字.布尔等原子数据类型,以及数组和通用对象.而SQL.PowerBuilder.R.集算器esProc等语言被设计用来进行数据处理,其基本数据类型是有结构的二维数据表对象.比如这句SQL:SELECT T1.id,T1.name,T1.value FROM T1 LEFT JOIN T2 ON T1.id=T2.id,这里的T1,T2以及计算结果就是这种数据类型

认识C#语言中的变量和数据类型

C#语言中的变量 概念:一块储存数据的内存空间,并且该内存区域的数据内容可以变化 变量的三要素:数据类型.变量名.变量值 先声明后赋值 变量的声明:指定一块内存空间,用于存放数据 语法:数据类型 变量名 例如:int number;  用于存放整数 变量的赋值: 例如:int number; number=6;  用于存放整数 变量命名 硬性要求: 1.变量只能有数字.字母.下划线组成 2.变量名不得以数字开头 3.名称不能与关键字相同 4.同一个函数中变量名不得相同 软性要求: 1.变量名能够