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延迟有点大