github.com/zhongdalu/gf@v1.0.0/geg/util/gconv/gconv_struct1.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 type User struct { 9 Uid int 10 Name string 11 Site_Url string 12 NickName string 13 Pass1 string `gconv:"password1"` 14 Pass2 string `gconv:"password2"` 15 } 16 17 func main() { 18 user := (*User)(nil) 19 20 // 使用默认映射规则绑定属性值到对象 21 user = new(User) 22 params1 := g.Map{ 23 "uid": 1, 24 "Name": "john", 25 "siteurl": "https://goframe.org", 26 "nick_name": "johng", 27 "PASS1": "123", 28 "PASS2": "456", 29 } 30 if err := gconv.Struct(params1, user); err == nil { 31 g.Dump(user) 32 } 33 34 // 使用struct tag映射绑定属性值到对象 35 user = new(User) 36 params2 := g.Map{ 37 "uid": 2, 38 "name": "smith", 39 "site-url": "https://goframe.org", 40 "nick name": "johng", 41 "password1": "111", 42 "password2": "222", 43 } 44 if err := gconv.Struct(params2, user); err == nil { 45 g.Dump(user) 46 } 47 }