zoukankan      html  css  js  c++  java
  • go语言之进阶篇通过if实现类型断言

    1、通过if实现类型断言

    示例:

    package main
    
    import "fmt"
    
    type Student struct {
    	name string
    	id   int
    }
    
    func main() {
    	i := make([]interface{}, 3)
    	i[0] = 1                    //int
    	i[1] = "hello go"           //string
    	i[2] = Student{"mike", 666} //Student
    
    	//类型查询,类型断言
    	//第一个返回下标,第二个返回下标对应的值, data分别是i[0], i[1], i[2]
    	for index, data := range i {
    		//第一个返回的是值,第二个返回判断结果的真假
    		if value, ok := data.(int); ok == true {
    			fmt.Printf("x[%d] 类型为int, 内容为%d
    ", index, value)
    		} else if value, ok := data.(string); ok == true {
    			fmt.Printf("x[%d] 类型为string, 内容为%s
    ", index, value)
    		} else if value, ok := data.(Student); ok == true {
    			fmt.Printf("x[%d] 类型为Student, 内容为name = %s, id = %d
    ", index, value.name, value.id)
    		}
    	}
    
    } 
    

    结果:

    x[0] 类型为int, 内容为1
    x[1] 类型为string, 内容为hello go
    x[2] 类型为Student, 内容为name = mike, id = 666
    

      

  • 相关阅读:
    选择结构
    java交互Scanner类
    生成Javadoc文档
    Java变量命名规范
    java变量类型和常量类型
    Linux命令目录重点
    网络设置
    任务计划
    用户与权限
    yum安装软件
  • 原文地址:https://www.cnblogs.com/nulige/p/10253992.html
Copyright © 2011-2022 走看看