博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
golang将interface{}转换为struct
阅读量:6327 次
发布时间:2019-06-22

本文共 732 字,大约阅读时间需要 2 分钟。

项目中需要用到golang的队列,container/list,需要放入的元素是struct,但是因为golang中list的设计,从list中取出时的类型为interface{},所以需要想办法把interface{}转换为struct。

这里需要用到interface assertion,具体操作见下面代码:

1 package main 2  3 import ( 4     "container/list" 5     "fmt" 6     "strconv" 7 ) 8  9 type People struct {10     Name string11     Age  int12 }13 14 func main() {15     // Create a new list and put some numbers in it.16     l := list.New()17     l.PushBack(People{
"zjw", 1})18 19 // Iterate through list and print its contents.20 e := l.Front()21 p, ok := (e.Value).(People)22 if ok {23 fmt.Println("Name:" + p.Name)24 fmt.Println("Age:" + strconv.Itoa(p.Age))25 } else {26 fmt.Println("e is not an People")27 }28 }

 

转载地址:http://pzwoa.baihongyu.com/

你可能感兴趣的文章
【面试 网络协议】【第十四篇】网络协议篇
查看>>
指令汇B新闻客户端开发(二) 主页面布局
查看>>
获取文本区域(textarea)行数【换行获取输入用户名个数】
查看>>
Mysql常用命令详解
查看>>
Android中实现iPhone开关
查看>>
是男人就下100层【第二层】——帮美女更衣(1)
查看>>
Web应用程序设计十个建议
查看>>
//……关于报文
查看>>
C语言学习-进制转换、变量
查看>>
Base64编码及其作用
查看>>
20172304 2017-2018-2 《程序设计与数据结构》实验五报告
查看>>
第六周学习总结
查看>>
20个数据库设计的最佳实践
查看>>
C# async
查看>>
C语言博客作业02--循环结构
查看>>
图片时钟
查看>>
Unity-2017.3官方实例教程Space-Shooter(一)
查看>>
makefile中重载与取消隐藏规则示例
查看>>
Linux 内核版本号查看
查看>>
4-3 简单求和 (10分)
查看>>