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  }