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

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

 package main

 import (
"container/list"
"fmt"
"strconv"
) type People struct {
Name string
Age int
} func main() {
// Create a new list and put some numbers in it.
l := list.New()
l.PushBack(People{"zjw", }) // Iterate through list and print its contents.
e := l.Front()
p, ok := (e.Value).(People)
if ok {
fmt.Println("Name:" + p.Name)
fmt.Println("Age:" + strconv.Itoa(p.Age))
} else {
fmt.Println("e is not an People")
}
}

最新文章

  1. Kafka0.8.2.1删除topic逻辑
  2. C语言、结构体 定义
  3. 关于如何在MVC中 执行JS
  4. win7远程桌面恢复全屏状态快捷键
  5. C#------各种常见错误解决方法
  6. org.apache.hadoop.hbase.TableExistsException: hbase:namespace
  7. C++从键盘输入文件结束符
  8. 霍夫变换(hough transform)
  9. Vim编辑器的常用快捷键.
  10. 开源库CImg 数据格式存储之二(RGB 顺序)
  11. mp4文件格式之fragment mp4
  12. 提示框的优化之自定义Toast组件之(三)Toast组件优化
  13. (iOS)推送常见问题
  14. 【QT相关】QT+opencv环境配置
  15. JavaScript基本类型比较
  16. lesson - 1 笔记 网络连接 /putty 密钥登陆
  17. POJ3264-Balanced Lineup-线段树
  18. ubuntu 输入用户名密码又回到登陆界面
  19. Technocup 2019 - Elimination Round 2
  20. Spring整合MybatisPlus学习笔记

热门文章

  1. vijos:旅行家的预算[贪心]
  2. hihocoder第212周-动态规划
  3. iOS 10 的一个重要更新-自定义的通知界面
  4. 那些令人喷饭的代码注释:仅以此代码献给...it's realy ?
  5. background-size ie8不支持怎么解决
  6. Intent----android中的伟大邮差
  7. SQL Performance Analyzer
  8. 《自己动手写框架2》:用200行的DBF解析器来展示良好架构设计
  9. 个人用户使用genymotion 模拟器
  10. python 保留两位小数