GOLANG 反射总结 -踏实

stvenyin · · 569 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

package main import ( "fmt" "reflect" ) type Info struct { sex int age int name string address string } /*type User struct{ like string sex int Info }*/ //指针,改变原来的User对象值 /*func use(user *User){ user.name="指针" user.age=15 user.address="深圳市" fmt.Println("func use user in use:",*user) }*/ //zhi chandi, 不改变原来USer对象值 /*func use(user User){ user.name="指针" user.age=15 user.address="深圳市" fmt.Println("func use user in use:",user) }*/ func main() { //user:=User{} //user.sex=1//这里修改的外部结构User里面的sex字段值 //user.Info.sex=2//这里修改的是嵌入结构Info的sex字段值 //fmt.Println(user) //声明调用 //user:=User{} //use(user) //fmt.Println(user) type T struct { A int B string } t := T{23, "skidoo"} //得到列属性 s := reflect.ValueOf(&t).Elem() //得到类型指针 typeOfT := s.Type() //得到列属性 for i := 0; i < s.NumField(); i++ { //指针移动到列 f := s.Field(i) fmt.Printf("%d: %s %s = %v\n", i,typeOfT.Field(i).Name, f.Type(), f.Interface()) fmt.Println("-") } }

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

569 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传