Go语言核心编程第9章 “编程哲学”
Go语言核心编程第9章 “编程哲学”
Go 简单到明显没有缺陷
Go 没有过多追求语言特性的大而全,最大限度地控制语言特性的数量,控制语言使用的复杂性。
Go 多个特性是正交的,比如 goroutine、接口、类型系统等。这些特性组合在一起,使得 Go 语言表现能力大增,但没有增加语言使用的复杂性。
只提供一种方法做事情,把事情做到极致,是 Go 的设计思想。
Go 支持并发原生,更容易对平行世界建模。
继承关系在世界万物的关系中,是一个很小的子集,组合才是万物基本的、常见的关系。
Go 具体类型不需要显式地声明自己实现了某个接口,只要其方法集是接口方法集的超集即可。至于判断类型是否实现接口则完全交给编译器去处理。使接口和实现者彻底解耦,在接口和实现之间不需要强关联。
Let’s Go
先前语言为 Go 设计提供了良好的思路。
2007 诞生
2008 核心团队组建完成
2009 开源
2012 Go 1.0发布
2015 Go 1.5发布
2016 Go 1.6发布
2017 Go 1.8发布
2017 Go 1.9发布
2018 Go 1.10发布
Go 从2007年开始
1.包管理
2.泛型支持
3.错误处理
在Go 1.xx上逐渐增加新功能,平滑升级为 Go 2