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  }