golang将interface{}转换为struct
2024-08-24 10:35:37
项目中需要用到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")
}
}
最新文章
- Kafka0.8.2.1删除topic逻辑
- C语言、结构体 定义
- 关于如何在MVC中 执行JS
- win7远程桌面恢复全屏状态快捷键
- C#------各种常见错误解决方法
- org.apache.hadoop.hbase.TableExistsException: hbase:namespace
- C++从键盘输入文件结束符
- 霍夫变换(hough transform)
- Vim编辑器的常用快捷键.
- 开源库CImg 数据格式存储之二(RGB 顺序)
- mp4文件格式之fragment mp4
- 提示框的优化之自定义Toast组件之(三)Toast组件优化
- (iOS)推送常见问题
- 【QT相关】QT+opencv环境配置
- JavaScript基本类型比较
- lesson - 1 笔记 网络连接 /putty 密钥登陆
- POJ3264-Balanced Lineup-线段树
- ubuntu 输入用户名密码又回到登陆界面
- Technocup 2019 - Elimination Round 2
- Spring整合MybatisPlus学习笔记