为什么golang不能通过字符串来创建对象实例

Python015

为什么golang不能通过字符串来创建对象实例,第1张

是说给个类的字符串名字,创建出一个类的对象?如果是这种,golang可以做到的。

先把字符串和类的reflect.Typeof关联

好,然后根据字符串找到对应的类型,用reflect.New构造对象就可以了。在rpc框架里经常要这么干,根据网络上传过来的数据,构造相应的对象,

然后回调。可以参考下这个文件里面的dispatchRequest方法:https://github.com/xjdrew/daisy/blob/master/pb/rpc/context.go

有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。

开门见山地说,我当初放弃Go语言(golang),就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论。转载

1.1 不允许左花括号另起一行

1.2 编译器莫名其妙地给行尾加上分号

1.3 极度强调编译速度,不惜放弃本应提供的功能

1.4 错误处理机制太原始

1.5 垃圾回收器(GC)不完善、有重大缺陷

1.6 禁止未使用变量和多余import

1.7 创建对象的方式太多令人纠结

1.8 对象没有构造函数和析构函数

1.9 defer语句的语义设定不甚合理

1.10 许多语言内置设施不支持用户定义的类型

1.11 没有泛型支持,常见数据类型接口丑陋

1.12 实现接口不需要明确声明

1.13 省掉小括号却省不掉花括号

1.14 编译生成的可执行文件尺寸非常大

1.15 不支持动态加载类库