美文网首页
空接口和类型断言

空接口和类型断言

作者: 天涯_w | 来源:发表于2019-04-10 10:10 被阅读0次
package main

import (
    "fmt"
    "reflect"
)
// 如果要使用第一种断言方法,把注释去掉即可

func main() {
    //复数complex(实部real,虚部image) 3 + 4j
    //fmt.Println("怪兽",0,1.2,true,complex(3,4))

    values := []interface{}{"怪兽",0,1.2,true,complex(3,4)}
    
    
    
    // 第一种方法:
    //全面类型断言
    /*for _,v := range values{
        switch v.(type) {
        case string:
            fmt.Println(v,"是字符串")
        case int,int8,int16:
            fmt.Println(v,"是整型")
        case float32,float64:
            fmt.Println(v,"是浮点型")
        case bool:
            fmt.Println(v,"是布尔型")
        default:
            fmt.Printf("%v是%T类型",v,v)
        }
    }*/


    // 第二种方法
    //重点类型断言
    for _,v := range values {
        if com,ok := v.(complex128); ok {
            fmt.Println("活捉一个复数",com, real(com), imag(com))
        }else {
            fmt.Println("v的类型是",reflect.TypeOf(v))
        }
    }
}

相关文章

  • go 接口

    空接口 断言 我们知道interface{}可以保存任意类型的数,所以我们要通过断言查询是什么类型断言的对象是空接口

  • 空接口和类型断言

  • 接口

    接口 接口类型 空接口 接口嵌套 接口断言 type关键字

  • 第04天(面对对象编程)_04

    16_接口的继承.go 17_接口转换.go 18_空接口.go 19_类型断言:if.go 20_类型断言:sw...

  • go得快(1)

    接口 多态 结构体里的tag 类型断言 空接口 接口的三个规则

  • 接口

    本节学习目标 理解什么是接口? 接口的实际用途? 空接口 类型断言的使用 类型选择的使用 指针接受者和值接受者 实...

  • golang interface

    interface 类型断言 interface的变量里面可以存储任意类型类型数据(原理: 任何类型都实现了空接口...

  • GO学习笔记09

    接口 1.接口定义 2.多态 3.接口的继承 4.接口转换 5.空接口 6.类型判断之断言 7.类型判断之switch

  • 随笔37号20181023-go断言

    类型断言 类型断言用于提取接口的底层值(Underlying Value)。 在语法i.(T)中,接口i的具体类型...

  • 聊聊golang的类型断言

    序 本文主要研究一下golang的类型断言 类型断言 断言x不为nil且x为T类型 如果T不是接口类型,则该断言x...

网友评论

      本文标题:空接口和类型断言

      本文链接:https://www.haomeiwen.com/subject/gcvgiqtx.html