golang将interface{}转换为struct
2023-09-27 14:28:06 时间
项目中需要用到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 string 11 Age int 12 } 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 }
相关文章
- Word处理控件Aspose.Words功能演示:在 Python 中将 PDF 转换为 JPG
- SQL 时间戳生成及转换
- SwiftUI 快速开发模版之 macOS 内容格式转换项目架构代码
- [计蒜客][数组]进制转换
- Java之byte、char和String类型相互转换
- flutter - 将数字转换为科学记数法并获得指数 flutter
- H3C nat转换实验
- hive之size函数和cast转换函数
- 动态输出(ToB海量日志转换业务) - 阿里云HybridDB for PostgreSQL最佳实践
- 遇到MapStruct后,再也不手写PO,DTO,VO对象之间的转换了
- 电商 Python html格式访客数据转为excel格式的数据 html格式的excel转换为excel