go语言获取变量类型的4种方式

在go语言中我们常常需要获取某个变量的类型,其他语言如python可以使用 type(x),  javascript中可以使用 typeof x 获取变量类型, Go 语言中我们也可以通过一下4种方式获取变量的类型。

1. 通过 fmt.Printf 的 %T 打印变量的类型;

var x float64 = 3.4
fmt.Printf("Type of x: %T\n", x)


2. 通过反射获取类型 reflect.Typeof(变量)  、 reflect.ValueOf(变量).Kind() ;
     

var x float64 = 3.4
fmt.Println("Type of x:", reflect.TypeOf(x)) // float64

// ValueOf 获取数据类型
fmt.Printf("%s \n", reflect.ValueOf(x).Kind()) // float64


3. 类型断言检测变量类型
    

   var i interface{} = "Hello"
    // 类型断言
    s, ok := i.(string)
    if ok {
        fmt.Println(s) 
    }


4. 类型选择, 与类型推断类似,也是类型检查和转换的一种方式。
    

    var i interface{} = "Hello"

    // 类型选择
    switch v := i.(type) {
    case string:
        fmt.Println(v) // 
    case int:
        fmt.Println(v * 2)
    default:
        fmt.Println("Unknown type")
    }

相关推荐

  1. go语言获取变量类型4方式

    2024-04-30 15:42:03       12 阅读
  2. Go获取变量类型

    2024-04-30 15:42:03       13 阅读
  3. go语言打印出变量类型

    2024-04-30 15:42:03       7 阅读
  4. Go语言类型转换

    2024-04-30 15:42:03       43 阅读
  5. Go语言】常用变量类型创建

    2024-04-30 15:42:03       31 阅读
  6. c++中2返回变量类型名称方法

    2024-04-30 15:42:03       15 阅读
  7. c++中类型转换(4转换方式)

    2024-04-30 15:42:03       17 阅读
  8. go语言切片去重3方式总结

    2024-04-30 15:42:03       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-30 15:42:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-30 15:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-30 15:42:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-30 15:42:03       20 阅读

热门阅读

  1. 【工作实践-11】关于uniapp切换账号登录失败问题

    2024-04-30 15:42:03       11 阅读
  2. milvus indexnode启动源码分析

    2024-04-30 15:42:03       12 阅读
  3. android中给view添加遮罩层

    2024-04-30 15:42:03       11 阅读
  4. leetcode_40.组合总和 II

    2024-04-30 15:42:03       14 阅读
  5. 什么是AI推理

    2024-04-30 15:42:03       11 阅读
  6. conda修改当前环境中的python版本

    2024-04-30 15:42:03       15 阅读
  7. 响应式布局插件

    2024-04-30 15:42:03       14 阅读
  8. 行列式求解

    2024-04-30 15:42:03       14 阅读
  9. YOLOv8+bytetrack实现多目标追踪

    2024-04-30 15:42:03       13 阅读
  10. 生成能够精确匹配原字符串的正则表达式

    2024-04-30 15:42:03       15 阅读
  11. zynq基础知识学习(1)

    2024-04-30 15:42:03       11 阅读