当前位置: 首页 > news >正文

国际贸易相关网站南宁网站建设专家

国际贸易相关网站,南宁网站建设专家,中国桥梁建设公司排名,枣庄做网站优化283_尚硅谷_反射基本介绍和示意图_哔哩哔哩_bilibili 1.介绍 1#xff09;基本数据类型的类型和类别一致#xff0c;但是结构体等不一样。 2)反射的例子#xff08;桥连接#xff0c;序列化#xff09; 序列化指定tag#xff0c;会反射生成tag字符串 3#xff09;refl…283_尚硅谷_反射基本介绍和示意图_哔哩哔哩_bilibili 1.介绍 1基本数据类型的类型和类别一致但是结构体等不一样。 2)反射的例子桥连接序列化 序列化指定tag会反射生成tag字符串 3reflect可以获取对象value和type值value是一个结构体type是一个接口。一个变量的type和value可以相互获取且都可以反过来操纵变量。 三者关系 4)一些概念 转换关系图 变量传给空接口形参 2.基本使用 1) 对reflect.Type输出是它内部封装的类型对reflect.Value输出是它内部封装的值但要注意它们虽然输出和int一样但是实际一个是Type接口一个是Value结构体。感觉有点像包装一个类型结构体然后绑定String()方法输出内部数值。实际类型是一个包装类型但是输出内容的都是内部存储类型。 验证对reflect.Value执行加int操作系统报错提示类型错误表明reflect.ValueOf(b)的结果并不是int 2)想要取用reflect.Value内部的值有两种方法 法一Value结构体提供了许多方法可以直接修改或者读取内部的值可以直接调用。 修改:Value.Set类型(传参) 读取:Value.类型() 法二把Value转成interface{}然后再用断言转成其他类型。 转interface{}Value.Interface() 3基本类型的反射 package mainimport (fmtreflect )func reflectTest01(b interface{}) {//通过反射获取的传入的变量的 type , kind值//感觉有点像包装一个类型结构体然后绑定String()方法输出内部数值。//实际类型是一个包装类型但是输出内容的都是内部存储类型。//1。先获取到 reflect.TyperType : reflect.TypeOf(b)fmt.Println(rType) //真正类型是reflect.Type,但是输出会自动变成内部存储类型的实际类型int//2。先获取到 reflect.ValuerVal : reflect.ValueOf(b)//报错cannot convert 2 (untyped int constant) to type struct{typ *reflect.rtype//说明实际不是int类型而是reflect.Value//所以Value提供了很多方法去修改或者读取内部的值//n2 : 2 rValn2 : 2 rVal.Int() //读取内部Int值fmt.Println(n2)fmt.Println(rVal) //真正类型是reflect.Value,但是输出会自动变成内部存储类型的实际值fmt.Printf(rVal内部数值:%v,rVal真正类型:%T\n, rVal, rVal)//3.将rVal转成interface{}iV : rVal.Interface() //把内部值按空接口类型输出//通过断言把interface{}转成需要的类型n3 : iV.(int)fmt.Println(n3, n3)}func main() {演示对(基本数据类型、interface{(}、reflect.value)进行反射的基本操作var num int 100reflectTest01(num)}4结构体类型的反射 package mainimport (fmtreflect )type Student struct {Name stringAge int }// 对结构体反射 func reflectTest02(b interface{}) {//1。先获取到 reflect.TyperType : reflect.TypeOf(b)fmt.Println(rType) //真正类型是reflect.Type,但是输出会自动变成内部存储类型的实际类型int//2。先获取到 reflect.ValuerVal : reflect.ValueOf(b)//3.将rVal转成interface{}iV : rVal.Interface() //把内部值按空接口类型输出fmt.Printf(iV 内部数值:%v,iV 真正类型:%T\n, iV, iV) //运行看实际类型所以输出的是Student类型//虽然运行输出可以但是想调用Student内容是不行的编译不知道底层实际类型所以需要通过断言把interface{}转成需要的类型stu, ok : iV.(Student) //也可以switchif ok {fmt.Println(stu.Name, stu.Name)}}func main() {演示对(基本数据类型、interface{(}、reflect.value)进行反射的基本操作)//2.定义结构体stu : Student{Name: tom,Age: 20,}reflectTest02(stu) }
http://www.pierceye.com/news/651897/

相关文章:

  • 建设网站的知识企业做网站设计的
  • 西安网站排名分析软文营销把什么放在第一位
  • 织梦手机网站模板删除不了宁波网站建设服务商
  • 深圳网站建设最专业网站seo技术
  • 定制网站开发一般多少钱郑州哪家公司做网站好
  • jsp做的网站效果给你一个网站你怎么做的吗
  • 怎样做网站海报wordpress最近怎么又是5.0更新
  • 淡水网站建设哪家便宜设计网页分析
  • 长沙多迪php网站开发培训学校小说榜单首页百度搜索风云榜
  • 门户网站建设计入什么科目网站备案 时间更新
  • 企业建网站租用服务器好还是买一个好wordpress 预订插件
  • 电气建设网站下载的asp网站怎么打开
  • 南阳网站建设icp备手机应用商店免费下载
  • 网站开发测量像素工具网站模板包含哪些内容
  • 南昌网站排名优化费用湖北公众号定制开发
  • 个人主页自助建站凡科网干嘛的
  • 网站后台上传图片不显示品牌营销咨询公司
  • 卖房网站母亲节做什麽活动从传播的角度
  • 永久免费的cad软件seo咨询
  • 网站邮件功能设计理论网站排名软件包年
  • wordpress语言文件编辑专业的企业网站优化公司
  • 正定网站建设制作公司wordpress去掉模板登录
  • 定制开发一个网站多少钱网站开发项目的心得体会
  • 网站被做跳转怎么办个人网站开发软件
  • 湛江网站制作费用南昌建站系统外包
  • 杭州市住房和城乡建设厅网站网页设计个人网站作业
  • 钦州建站哪家好杭州网站建站平台
  • 程序员做笔记的网站在线简历制作系统
  • 有一个网站自己做链接获取朋友位置wordpress504
  • 设计感 网站wordpress企业内网主题