巨人肩膀上的Go语言
Go语言被誉为21世纪的C语言,如果你深入学习和使用这种语言之后也会表达认同。
所有的编程语言都反映了语言设计者对编程哲学的反思,通常包括之前的语言所暴露的一些不足地方的改进。Go项目是在Google维护超级复杂的几个项目遇到问题、反思问题下的产物。对软件复杂性有着更深入的了解。因此Go语言在设计一开始就避免引入过度的复杂性,在开始的时候舍弃不必要的想法,并且在生命周期内严格区别好的改变或坏的改变。例如,它
* 没有隐式的数值转换
* 没有构造函数和析构函数
* 没有运算符重载
* 没有默认参数
* 也没有继承,没有泛型
* 没有异常
* 没有宏
* 没有函数修饰
* 更没有线程局部存储。
但语言本身是成熟和稳定的,而且承诺保证向后兼容的。Go语言从其他语言借鉴了很多优秀的想法
* 面向对象
* 并发编程
* 垃圾回收
学习golang学什么,看本书看什么?如果只是看一些比较简单的,数据结构和基本语法,那么这本书与其他书并没有什么不一样。作为一本原作者写的书,应当从中学习一些语言设计的思想以及考量。
1. 包机制:包、路径、对象有何不同?
2. goroutine调度:进程、线程、协程有什么不同,调度是如何实现的?
3. 面向对象机制: 如何实现封装与继承?
4. 垃圾回收机制:内存管理与垃圾回收又是怎样做到的?
5. 简洁:简洁如何体现在语言设计的方方面面?
带着这些疑问,再去看本书相信会有不一样的收获,这正是本书独特的价值所在。
© 本文版权归作者 有疑说 所有,任何形式转载请联系作者。
有关键情节透露