第1章初识Go语言
Go语言特性一瞥
- 开放源代码的通用计算机编程语言。
- 虽为静态类型、编译型的语言,但Go语言的语法却趋于脚本化,非常简洁。
- 卓越的跨平台支持,无需代码移植。
- 全自动的垃圾回收机制,无需开发者干预。
- 原声的先进并发编程模型和机制。
- 拥有函数式编程范式的特性,函数为一等代码块。
- 无继承层次的轻量级面向对象编程范式。
- 内含完善、全面的软件工程工具。
- 代码风格强制统一。
- 程序编译和运行速度都非常快。
- 标准库丰富,极适合开发服务端程序和Web程序。
Go语言的优劣
优势
- 相对于C/C++来讲,Go语言拥有清晰的依赖管理和全自动的垃圾回收机制,因此其代码量大大降低,开发效率大大提高。
- 相对于Java来讲,Go语言拥有简明的类型系统、函数式和先进的并发编程模型。因此其代码块更小更简洁、可重用性更高,并可在多核计算环境下更快地运行。
- 相对PHP来讲,Go语言更具通用性和规范性。
- 相对于Python/Ruby来讲,Go的优势在于其简洁的语法、非侵入式和扁平化的类型系统和浑然天成的多范式编程模型。
不足
- 从分布式计算机的角度来看,Go语言的成熟度不及Erlang。
- 从程序运行速度的角度来看,Go语言虽然已与Java不相上下,但还不及C。
- 从第三方哭的角度来看,Go语言的库数量远远不及其他几门主流语言。
- 从语言语法角度来看,Go语言语法里的语法糖并不多。
- 从并发编程角度来看,Go语言提供的并发模型很强大,但也有一些便携规则需要了解。
- 从垃圾回收角度看,Go语言的来及回收采用的是并发包机清除算法。有一定的缺点。
怎样学习Go语言
- 官方网站:http://golang.org
- 动手编码
- 理论+实践。