怎么利用反射实现json序列化和反序列化

描述

如果我要问你,你学习Go语言中遇到的最大难点在哪里?

我相信很多人都支支吾吾,说不出个所以然来,觉得每个都是难点,只有少部分人朋友能准确无误的令自己十分困扰的难点。

而我猜,70%的难点都是「反射」。

反射

反射是Go语言中一个比较高级的话题,也是最容易让人感到迷惑的难题。反射的概念十分的抽象,经典的「反射三定律」也并不是那么好理解,甚至很多朋友在理解反射上已经有了很大的偏差,那么今天我们就给大家好好的讲一讲反射那些事儿。

首先,让我们先来弄清楚反射是什么?反射是一种能力,在程序运行时,这种能力可以检测程序变量,得出变量的类型、值。

学习反射,一定离不开反射三定律:

第一定律:反射可以将“接口类型变量”转换为“反射类型对象”第二定律:反射可以将“反射类型对象”转换为“接口类型变量”第三定律:如果要修改“反射类型对象,其值必须是”可写的“。

听到这里,是不是还是十分迷惑?如果对反射的使用场景不太熟悉,那么不理解反射是什么,是一种正常现象。

所以,最重要的还是要明白反射的使用场景,我们知道Go语言的json序列化离不开反射,那么我们就跟着Go语言专家的步伐,学习用反射如何实现json序列和反序列化,让你快速熟悉反射的用法。

编辑:jq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分