go - 如何将 []interface 转换为 []struct
问题描述
例如:
代码: type person struct { //struct id int name string }
func example() {
var (
p []person
pi []interface{}
)
pi = append(pi, person{
id: 1,
name: "Mike",
})
}
如何将pi转换为p?
解决方案
试试这个:
package main
import (
"fmt"
)
type person struct { //struct
id int
name string
}
func main() {
var (
p []person
pi []interface{}
)
pi = append(pi, person{
id: 1,
name: "Mike",
})
for _, tmp := range pi {
// fmt.Println(tmp,k)
p = append(p, tmp.(person))
fmt.Println( p)
}
}
推荐阅读
- mysql - SQL获取具有特定时间段的连续开始和结束日期
- azure-web-app-service - 在 asp.net 核心中使用 Rotitiva 部署到天蓝色时显示框而不是字体的 PDF 报告
- qt - 关于 qt5 中的虚拟键盘与 windows 上的小部件应用程序
- mongodb - 如何根据日期范围 mongoDB 选择所有数据?
- xml - 为什么 XML 属性支持“>”(大于符号)而“<”(小于符号)不支持?
- maven - Maven 发布插件 - 如何仅发布快照?
- php - 如何在 PHP 中获取数组的参数
- c# - 如何获取动态文本框值c#?
- c - signal.h 中的信号宏是类对象宏还是类函数宏?
- javascript - 如何从下面的数组列表中读取每个奇数值: