github.com/zhongdalu/gf@v1.0.0/geg/util/gconv/gconv_struct_deep.go (about) 1 package main 2 3 import ( 4 "github.com/zhongdalu/gf/g" 5 "github.com/zhongdalu/gf/g/util/gconv" 6 ) 7 8 func main() { 9 type Ids struct { 10 Id int `json:"id"` 11 Uid int `json:"uid"` 12 } 13 type Base struct { 14 Ids 15 CreateTime string `json:"create_time"` 16 } 17 type User struct { 18 Base 19 Passport string `json:"passport"` 20 Password string `json:"password"` 21 Nickname string `json:"nickname"` 22 } 23 data := g.Map{ 24 "id": 1, 25 "uid": 100, 26 "passport": "johng", 27 "password": "123456", 28 "nickname": "John", 29 "create_time": "2019", 30 } 31 user := new(User) 32 gconv.StructDeep(data, user) 33 g.Dump(user) 34 }