github.com/zhongdalu/gf@v1.0.0/geg/util/gconv/gconv_struct4.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/zhongdalu/gf/g"
     6  	"github.com/zhongdalu/gf/g/util/gconv"
     7  )
     8  
     9  func main() {
    10  	type Score struct {
    11  		Name   string
    12  		Result int
    13  	}
    14  	type User1 struct {
    15  		Scores Score
    16  	}
    17  	type User2 struct {
    18  		Scores *Score
    19  	}
    20  
    21  	user1 := new(User1)
    22  	user2 := new(User2)
    23  	scores := map[string]interface{}{
    24  		"Scores": map[string]interface{}{
    25  			"Name":   "john",
    26  			"Result": 100,
    27  		},
    28  	}
    29  
    30  	if err := gconv.Struct(scores, user1); err != nil {
    31  		fmt.Println(err)
    32  	} else {
    33  		g.Dump(user1)
    34  	}
    35  	if err := gconv.Struct(scores, user2); err != nil {
    36  		fmt.Println(err)
    37  	} else {
    38  		g.Dump(user2)
    39  	}
    40  }