1.1 为并发而生
GO语言是Google开发的开源编程语言诞生于2006年1月,于2009年11月开源,2012年发布稳定版。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。
Go是非常年轻的一门语言,它的主要目标是“兼具Python等动态语言的开发速度和C/C++等编译型语言的性能与安全性”
经过Go语言重构的系统能使用更少的硬件资源获得更高的并发和I/O吞吐表现。
Go语言的并发是基于 goroutine 的,goroutine 类似于线程,但并非线程。可以将 goroutine 理解为一种虚拟线程。Go 语言运行时会参与调度 goroutine,并将 goroutine 合理地分配到每个 CPU 中,最大限度地使用CPU性能。
goroutine的特点:
- 具有可增长的分段堆栈。这意味着它们只在需要时才会使用更多内存
- 启动时间比线程快
- 原生支持利用channel安全地进行通信
- 共享数据结构时无需使用互斥锁
1.2 简单易学
语言简洁
Go语言的风格类似于C语言。其语法在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有for一种表示方法,就可以实现数值、键值等各种遍历。
代码风格统一
Go语言提供了一套格式化工具——go fmt。一些Go语言的开发环境或者编辑器在保存时,都会使用格式化工具进行修改代码的格式化,这样就保证了不同开发者提交的代码都是统一的格式。