在 interface 中访问 array 或 slice 在指定 index 处的 struct field
发布时间
阅读量:
阅读量
其核心实现方式主要依赖于反射机制,go-expression,在EL表达式中提取数组及切片的索引信息同样采用此种实现路径。
首先需要定义一个结构体
type Order struct {
name string
age int
}
设定一个情境,其中存在一个名为test的字段,其数据类型为interface{},用于接收一组Order对象的切片。当前的目标是从该Order切片中获取索引位置为1的元素所对应的name字段的值。
orders := make([]Order, 2)
orders[0] = Order{name: "lisi", age: 18}
orders[1] = Order{name: "wang", age: 24}
var test interface{}
test = orders
//获取orders切片下标为1的数据
index := reflect.ValueOf(test).Index(1)
//取得Or
全部评论 (0)
还没有任何评论哟~
