栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

go interface{}类型转换

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go interface{}类型转换

go interface{}类型转换
目录
  1. 查看interface{}类型
  2. 还原interface{}的原类型

1. 查看interface{}类型
func checkType(i interface{}) {
	reflect.TypeOf(i)
}
2. 还原interface{}的原类型
  1. 通过switch判断interface{}类型,然后通过 xxx.(类型) 强转
type Person struct {
	name string
	age  int
}

func checkType(i interface{}) {
	switch v := i.(type) { //这里是通过i.(type)来判断是什么类型  下面的case分支匹配到了 则执行相关的分支
	case int:
		fmt.Printf("%v is an intn", v)
	case string:
		fmt.Printf("%v is string", v)
	case Person:
		fmt.Println("Person", reflect.TypeOf(i))
		i2 := i.(Person) //将 i 强转为 Person
		fmt.Println(i2.name)
	case bool:
		fmt.Printf("%v is bool", v)
	}
}

func main() {
	var info Person
	info.name = "zs"
	info.age = 20
	checkType(info)
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945569.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号