如果我要问你,你学习Go语言中遇到的最大难点在哪里?
我相信很多人都支支吾吾,说不出个所以然来,觉得每个都是难点,只有少部分人朋友能准确无误的令自己十分困扰的难点。
而我猜,70%的难点都是「反射」。
反射是Go语言中一个比较高级的话题,也是最容易让人感到迷惑的难题。反射的概念十分的抽象,经典的「反射三定律」也并不是那么好理解,甚至很多朋友在理解反射上已经有了很大的偏差,那么今天我们就给大家好好的讲一讲反射那些事儿。
首先,让我们先来弄清楚反射是什么?反射是一种能力,在程序运行时,这种能力可以检测程序变量,得出变量的类型、值。
学习反射,一定离不开反射三定律:
第一定律:反射可以将“接口类型变量”转换为“反射类型对象”第二定律:反射可以将“反射类型对象”转换为“接口类型变量”第三定律:如果要修改“反射类型对象,其值必须是”可写的“。
听到这里,是不是还是十分迷惑?如果对反射的使用场景不太熟悉,那么不理解反射是什么,是一种正常现象。
所以,最重要的还是要明白反射的使用场景,我们知道Go语言的json序列化离不开反射,那么我们就跟着Go语言专家的步伐,学习用反射如何实现json序列和反序列化,让你快速熟悉反射的用法。
编辑:jq
全部0条评论
快来发表一下你的评论吧 !