go语言没有的元素:
-
类、继承、多态、重载
因为go语言拥有不同的世界观,go主要是面向接口编程;
在面向对象界,也流行变继承为组合的思维;
这些面向对象的元素太容易被滥用;
go语言为组合提供了便捷的支持;
go语言中怎么模拟类,继承,多态呢?
-
try/catch/finally
go语言中为何没有try/catch/finally?
太多错误被当做异常,try/catch容易使得程序太过复杂
错误:是意料之中的
go语言中使用defer/panic/recover模式来替代try/catch/finally
-
泛型
泛型的作用:1.作为模板类型;2.约束参数类型
go语言本身自带强类型的slice,map,channel
-
构造函数/析构函数
大型项目中很少使用构造函数,多使用公产函数
-
操作符重载(c++)
-
assert(断言)
需要注意的是:go语言没有以上这些元素概念,不要想着怎么用go语言去模拟它们