golang 反射结构字段类型

来源:互联网 发布:mt4跟单软件 编辑:程序博客网 时间:2024/06/07 03:26


golang 反射用法,做个笔记.

package mainimport ("fmt""reflect")type roles struct {roleId   introleName string}type User struct {Name     stringAge      intEmail    stringNickName stringTelphone intRoles    roles}func main() {u := User{Name: "Name", Age: 30, Email: "xxxx@afanty3d.com", NickName: "omni360", Telphone: xxxxx, Roles: roles{roleId: 1001, roleName: "administrator"}}fmt.Println(u)Info(u)}func Info(o interface{}) {t := reflect.TypeOf(o)fmt.Println("Type:", t.Name())v := reflect.ValueOf(o)fmt.Println("Fileds:")for i := 0; i < t.NumField(); i++ {f := t.Field(i)val := v.Field(i).Interface()fmt.Printf("%6s : %v %v\n", f.Name, f.Type, val)}}


0 0
原创粉丝点击