44_类型转换

Posted zhaopp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了44_类型转换相关的知识,希望对你有一定的参考价值。

/*

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_类型转换的主要内容,如果未能解决你的问题,请参考以下文章

protobuf转换的数组传进scoket中类型转换错误

Java_数据类型转换

04_类型转换

Java学习_数据类型转换

Java数据类型之类型转换

Java_类型转换问题_07