追求简单,少即是多

Go 设计者推崇“最小方式”思维,即一件事情仅有一种方式或数量尽可能少的方式去完成,这大大减少了开发人员在选择路径方式及理解他人所选路径方式上的心智负担。

偏好组合,正交解耦

  1. Go 语言无类型体系(type hierarchy),类型之间是独立的,没有子类型的概念;
  2. 每个类型都可以有自己的方法集合,类型定义与方法实现是正交独立的;
  3. 接口(interface)与其实现之间隐式关联;
  4. 包(package)之间是相对独立的,没有子包的概念。

原生并发,轻量高效

  1. Go 语言为开发者提供的支持并发的语法元素和机制。
  2. Go 语言采用轻量级协程并发模型,使得 Go 应用在面向多核硬件时更具可扩展性。
  3. 并发的存在鼓励程序员在程序设计时进行独立计算的分解,而对并发的原生支持让 Go 语言更适应现代计算环境。

面向工程,“自带电池”

开箱即用的标准库、语言自带原生工具链以及开放的工具链生态。