关于go语言集合中Element转换为自定义结构体的方法
起因
在最开始学习go语言的时候肯定都会用到用list存储一些结构体。然后再把list里面存储的东西给取出来用,结果取出来用的时候发现会报错。
图中为list存储了net.Conn结构体,存好存但是取出来的时候不能用了。最开始因为list存的是Element,所以想着把Element转换为net.Conn甚至尝试过用结构体转换为json字符串,再将字符串装换为结构体的方法也试过了,但是由于Element中元素属性都是小写或者说是私有的不能被转换为josn,最后以失败告终。
解决
到最后才发现Element中Value存放的是接口,所以只要将接口转换为结构体问题就都解决了。
conn , ok := (i.value).(net.Conn)
其中conn为返回的结构体,而OK是布尔型表示有没有转换成功,true为成功。
到此这篇关于“关于go语言集合中Element转换为自定义结构体的方法”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!您可能感兴趣的文章:
Go结构体嵌入接口类型
Go语言的函数、方法和接口
浅析Go语言的Interface机制
Go语言的主要特性和发展影响
基于类型系统的面向对象编程语言Go
XML和J2EE的组合技术
go run main.go 参数_Go语言入门:Hello world
关于golang面向接口
Go 语言十年而立,Go2 蓄势待发
初识 go 语言:方法,接口及并发