Go语言介绍
Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。Go语言是谷歌2009发布的第二款开源编程语言。2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。
Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。
Go的优势
- 可以编译成机器码,不依赖其他库
- 静态类型语言,有动态语言的感觉。静态语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是很多的包可以使用,写起来效率很高
- 语言层面支持并发,这是Go语言的最大的特色,天生支持并发(天生的基因和后来的整容是有区别的)
- 内置runtime,支持垃圾回收机制
- 简单易学,有C语言的基因,Go语言有25个关键字,但是表达能力极强
- 丰富的标准库,内置大量库,特别是网络库非常强大
- 内置强大工具,使review变的简单,可以使代码格式一模一样
- 跨平台编译,可以不依赖与系统信息
- 内置C支持
Go适合
- 服务器编程
- 分布式系统,数据库代理器
- 网络编程
- 云平台,国内的七牛云存储的关键服务就是使用Go语言开发的
Go的缺点
- Go的import包不支持版本,升级容易导致项目不可运行,所以需要自己控制相应的版本信息
- Go的gotoutine一旦启动,不同的goroutine之间切换不收程序的控制,runtime调度的时候,需要严谨的逻辑,不然goroutine休眠,过一段时间逻辑结束了,突然冒出来又执行了,会导致逻辑出错等情况
- GC延迟有点大