知识卡片
继承语言混合代码与数据而Go强制分离
内容
支持继承的语言(C++、Java、Python)允许把代码(方法)和数据(字段)通过类这个单一结构紧密捆绑在一起,子类继承父类时连数据结构带行为一起继承,形成一棵纵向的类型树。发散:判断一段C++/Java代码要不要照抄到Go,第一步不是找语法对应关系,而是先问这段代码”想完成什么”,再用组合/接口的方式在Go里重新设计——照着继承的思路生搬硬套,往往写出的是”看起来能编译但很别扭”的Go代码。
参考来源
- 位置:《Go语言程序设计》附录A《后记》(源文件:_epub-src/OEBPS/text00041.html)
- 结论依据:原文在该章节围绕“支持继承的语言(C++、Java、Python)允许把代码(方法)和数据(字段)通过类这个单一结构紧密捆绑在一…”给出定义、示例或限制条件;摘录中的术语、代码片段或对比关系直接支撑本卡片的结论。
- 原始内容:第7章 并发编程 并发编程可以让开发者实现并行的算法以及编写充分利用多处理器和多核性能的程序。在当前大部分主流的编程语言里,如C、C++、Java等,编写、维护和调试并发程序相比单线程程序而言要困难很多。而且,也不可能总是为了使用多线程而将一个过程切分成更小的粒度来处理。不管怎么说,由于线程本身的性能损耗,多线程编程不一定能够达到我们想要…