主要通过反射进行实现,go-expression,EL表达式获取数组和切片的下标数据也是通过该方式实现。 先定义一个struct 定义一个场景,有一个test的字段,类型是interface{},接收一个Order对象的切片。现在是想获取Order切片下标为1的name的值。 运行结果type Order struct { name string age int }
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) //取得Order对象类型 orderType := index.Type() //取得name属性 nameFile,_ := orderType.FieldByName("name") //取得name的类型 nameType := nameFile.Type.Kind() //取得name字段 name := index.FieldByName("name") var nameValue interface{} switch nameType { case reflect.String: nameValue = name.String() break case reflect.Int: nameValue = name.Int() break } fmt.Println("name字段类型为:", nameType) fmt.Println("name字段值为:", nameValue)
name字段类型为: string name字段值为: wang
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算