github.com/gogf/gf@v1.16.9/.example/util/gconv/gconv_struct5.go (about) 1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/gogf/gf/frame/g" 7 "github.com/gogf/gf/util/gconv" 8 ) 9 10 func main() { 11 type Score struct { 12 Name string 13 Result int 14 } 15 type User struct { 16 Scores []Score 17 } 18 19 user := new(User) 20 scores := g.Map{ 21 "Scores": g.Map{ 22 "Name": "john", 23 "Result": 100, 24 }, 25 } 26 27 // 嵌套struct转换,属性为slice类型,数值为map类型 28 if err := gconv.Struct(scores, user); err != nil { 29 fmt.Println(err) 30 } else { 31 g.Dump(user) 32 } 33 }