github.com/gogf/gf@v1.16.9/.example/util/gconv/gconv_struct4.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 User1 struct { 16 Scores Score 17 } 18 type User2 struct { 19 Scores *Score 20 } 21 22 user1 := new(User1) 23 user2 := new(User2) 24 scores := g.Map{ 25 "Scores": g.Map{ 26 "Name": "john", 27 "Result": 100, 28 }, 29 } 30 31 if err := gconv.Struct(scores, user1); err != nil { 32 fmt.Println(err) 33 } else { 34 g.Dump(user1) 35 } 36 if err := gconv.Struct(scores, user2); err != nil { 37 fmt.Println(err) 38 } else { 39 g.Dump(user2) 40 } 41 }