前言:为什么我们需要一门新语言

  1. 互联网时代的语言:Go,需要考虑的关键问题:

    1. 并行与分布式支持:

      1. Go在语言级别支持协程,其他语言多数需要库的支持。

      2. 执行体间的通信,分为以下两种:

        1. 互斥或同步:Go在语言层面不支持。

        2. 消息传递:Go内置了消息队列(通道channel)。Go语言推荐使用消息,而不是共享内存,来进行并发编程。

    2. 软件工程支持:

      1. 代码风格规范:

        1. 标识符首字母大写时,为public变量。

        2. 对大括号的规范。

        3. go fmt工具。

      2. 错误处理规范

      3. 包管理

      4. 契约规范(接口)

      5. 单元测试规范

      6. 功能开发的流程 

    3. 编程哲学的重塑:

      1. 非侵入性接口(无需显式从接口派生):

        1. 不再有继承树的概念。仅需要了解类及类实现的方法。

        2. 不用再纠结接口拆分的粒度问题。

        3. 无需为实现另一个包中的接口,而专门导入该包。

          1. 两个接口只要方法列表相同,那么他们就是等价的。

          2. 为引用一个包中的接口而导入该包,增加的耦合性,该做法不推荐。

猜你喜欢

转载自blog.csdn.net/liufuchun111/article/details/86613031