码迷,mamicode.com
首页 > 其他好文 > 详细

44_类型转换

时间:2019-09-22 01:51:27      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:index   ring   print   -o   range   its   struct   UNC   interface   

/*

comma-ok断言:

Go语言里面有一个语法,可以直接判断是否是该类型的变量:

value, ok = element.(T),

这里value就是变量的值,ok是一个bool类型,element是interface变量,

T是断言的类型

*/

package main

import "fmt"

type Elementer interface{}
type Person struct {
	name string
	age  int
}

func main() {
	var list []Elementer = make([]Elementer, 3) //空接口类型

	list[0] = 1
	list[1] = "ads"
	list[2] = Person{"mike", 12}

	for index, element := range list {
		if value, ok := element.(int); ok == true {
			fmt.Printf("list[%d] is an int and its value is %d\n", index, value)

		} else if value, ok := element.(string); ok == true {
			fmt.Printf("list[%d] is an int and its value is %s\n", index, value)

		} else if value, ok := element.(Person); ok == true {
			fmt.Printf("list[%d] is an int and its value is [%s,%d]\n", index, value.name, value.age)
		}
	}
}

44_类型转换

标签:index   ring   print   -o   range   its   struct   UNC   interface   

原文地址:https://www.cnblogs.com/zhaopp/p/11565533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!