背景:golang语言的发起主要是为了解决C++中出现的问题。传统的语言比如c++,大家花费太多时间来学习如何使用,而不是如何更好的表达写程序员的思想,同时编译的时间太长,对于编写-编译-运行这个链条来说周期太长。动态语言如Python,由于没有强类型的约束,很多问题需要在运行时发现,这种低级错误更应该交给编译器来发现。同时有如下趋势:人力成本越来越高、机器越来越便宜、性能越来越厉害、在开发效率和运行速度上达到平衡,这是golang诞生的背景。

Go的思维方式:最小心智负担原则、最小特性、最少惊异、最少犯错机会。

Go的目标是成为互联网的c语言,在保持了c简单明了的基础上,同时加入了一些自己的特性:少就是指数级的多、最少特性原则(如果一个功能不对解决任何问题有显著价值,那么就不提供)、显式表达(所写即所得)、极度简化但完备的OOP(面向对象编程)、功能内聚、友善的C语言支持;