go reflect 3 rules
1. Reflection goes from interface value to reflection Object.
反射可以从接口值得到反射对象
使用到reflect methods:
reflect.ValueOf(i interface{}) Value
reflect.TypeOf(i interface{}) Type
2. Reflection goes from refelction object to interface value.
反射可以从反射对象获得接口值
使用到reflect methods:
reflect.New(typ Type) Value
reflect.Zero(typ Type) Value
func (v Value) Type() Type
func (v Value) Interface() (i interface{})
i.(SomeInterface)
3. To modify a reflection object, the value must be settable.
要修改一个反射对象,则其值必须可以修改
最后补充一条:type 与 value的相互转换及辅助methods
//Type->Value
reflect.New(typ Type) Value
//Value->Type
func (v Value) Type() Type
//PointerValue->Value
func Indirect(v Value) Value
func (v Value) Elem() Value
//Type->PointerType
func PtrTo(t Type) Type
//PointerType->Type
func (t Type) Elem() Type
注意:go的反射还不够强大,相比java,它还不同直接通过class包字符串直接创建对象,即:其不同通过类型名直接构造Type或Value,必须先创建一个类型变量,然后再引出Type或Value变量。不过这个完全可以通过增加一个语法糖解决。
go reflect 3 rules相关推荐
- Java IDEA import sun.reflect.ConstructorAccessor报错
Java IDEA import sun.reflect.ConstructorAccessor报错 问题 解决 问题 报错如下图,发现是jdk版本的原因,如下是jdk: 11.0.6报错截图 解决 ...
- ad19电气规则检查_建议收藏Altium Designer Rules规则详解
对于PCB的设计, AD提供了详尽的10种不同的设计规则,这些设计规则则包括导线放置.导线布线方法.元件放置.布线规则.元件移动和信号完整性等规则.根据这些规则, Protel DXP进行自动布局和自 ...
- Golang反射机制的实现分析——reflect.Type方法查找和调用
在<Golang反射机制的实现分析--reflect.Type类型名称>一文中,我们分析了Golang获取类型基本信息的流程.本文将基于上述知识和经验,分析方法的查找和调用.(转载请指明出 ...
- Golang反射机制的实现分析——reflect.Type类型名称
现在越来越多的java.php或者python程序员转向了Golang.其中一个比较重要的原因是,它和C/C++一样,可以编译成机器码运行,这保证了执行的效率.在上述解释型语言中,它们都支持了&quo ...
- Some Rules from wrting your own dsl with ruby
来自:http://blog.nofail.de/2010/02/writing-your-own-dsl-with-ruby/ Some Rules from wrting your own dsl ...
- Golang的反射reflect深入理解和示例
[TOC] Golang的反射reflect深入理解和示例 [记录于2018年2月] 编程语言中反射的概念 在计算机科学领域,反射是指一类应用,它们能够自描述和自控制.也就是说,这类应用通过采用某种机 ...
- 用es6 (proxy 和 reflect)轻松实现 观察者模式
js中 观察者 之前我们一般通过事件机制完成 ex: 注册监听 Event.listen('changeName', name => console.log(name)) 派发事件 Event. ...
- ES6 之Reflect 与 Proxy概述
Proxy 与 Reflect 是 ES6 为了操作对象引入的 API .Proxy 可以对目标对象的读取.函数调用等操作进行拦截,然后进行操作处理. 概述 Proxy 与 Reflect 是 ES6 ...
- Association Rules 关联规则
Association Rules 关联规则 除了apriori和FPGrowth目前还有那些方法用来发现关联规则? 关键词: 频繁项集,apriori算法,FPGrowth,关联规则, 频繁项集评估 ...
最新文章
- 【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read from remote )
- 玩英雄联盟手游,谁才是新手最喜欢的英雄?无极剑圣还是吗?
- 离散余弦变换原理及实现【转载】
- 攻击者滥用 Citrix NetScaler 设备 0day,发动DDoS放大攻击
- 理解 JavaScript 的 async/await
- kmp 学习【字符串-kmp学习】
- java contains_生成不重复随机数 java
- wordpress自定义打赏
- 计算机应用基础题excel,计算机应用基础EXCEL练习题.doc
- 华为手机更改系统默认字体
- JDY-24M 超级 BLE 蓝牙模块——理解与实践
- pycharm安装jpype报错及解决方法
- 计算机编程龟兔赛跑,实例编程:龟兔赛跑的小游戏
- PVE最小资源安装Jellyfin(LXC容器使用turnkey-mediaserver模板)
- [半监督学习] Combining Labeled and Unlabeled Data with Co-Training
- 【损失函数系列】softmax loss损失函数详解
- STM32CUBEMX驱动lcd1602,使用的是stm32f103c8t6芯片
- C语言求1000以内水仙花数
- 【原创】新韭菜日记58--20190618 很久没写了,因为套牢,因为没内容可写
- 电子与信息学报 投稿填坑