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  }