• Go


    基本介绍
        类型断言,由于接口是一般类型,不知道具体类型,如果要转成具体类型,就需要使用类型断言,具体如下:
        var a interface{}    
        var b float64 = 1.22     
        a = b  // 空接口可以接收任何类型     
        // 那如何把 a 变为 float64呢     
        x := a.(float64)  // 类型断言     
        fmt.Printf("x 的类型=%T 值==%v", x, x)  // x 的类型=float64 值==1.22
     
        对上面代码的说明:
            在进行类型断言时,如果类型不匹配,就会报panic,因此进行类型断言时,要确保原来的空接口指向的就是断言类型;
            如何在进行断言时,带上检测机制,如果成功就ok,否则也不要报panic;
            // 类型断言(带检测的)    --> 推荐使用
            x, ok := a.(float32)     
            if ok {         
                fmt.Println("convert success ..")         
                fmt.Printf("x 的类型=%T 值=~~%v  ", x, x)     
            }else {         
                fmt.Println("convert fail")     
            }     
            fmt.Println("继续执行~~~~")
     
    断言的最佳实践(即在实际中应用)
        实现在多态数组中对结构体独有方法的实现
        定义一个函数对多个不确定类型的变量进行类型判断并且输出结果;
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    httpClient模拟浏览器发请求
    中文字符所占字节
    eclipse代码左虚线对齐设置
    git 几款好用的客户端工具
    github快速入门(一)
    eclipse插件开发(一)
    SpringMVC解决跨域的两种方案
    SpringMVC SessionAttributes 简述
    关于Spring的HibernateTemplate的findByExample方法使用时的一点注意。
    Windows10 Ubuntu bash 配置 LAMP+JDK+Tomcat
  • 原文地址:https://www.cnblogs.com/guo-s/p/14160699.html
Copyright © 2020-2023  润新知