这是我参与「第三届青训营-后端场」笔记创作活动的的第1篇笔记
Go语言的优势:
效率高
Go语言语法简单上手快,相比Java和C++,Go拥有快速编译的效率优势,同时运行效率也很高。
C信任程序员不屏蔽底层且底层友好,关注语言的执行效率和性能。
Python 的姿态是用尽量少的代码完成尽量多的事
Go就像是C和Python的结合体,既有效率又优雅~
动静结合
Go是静态类型语言,但是有动态语言的感觉,静态类型的语言可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,Go 语言的 lib 库麻雀虽小五脏俱全。Go 语言的 lib 库中基本上有绝大多数常用的库,十分方便。
并发和异步
Go语言最强大的地方在于它支持的高并发特性,Go从语言层面就支持并发。同时实现了自动垃圾回收机制。Go语言的并发机制运用起来非常简便,在启动并发的方式上直接添加了语言级的关键字就可以实现,和其他编程语言相比更加轻量。
出身名门Google,又兼顾运行性能、开发效率及维护难度,Go可谓是前途无量。
Go成功的项目:
nsq:bitly开源的消息队列系统,性能非常高,目前他们每天处理数十亿条的消息
docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建。
packer:用来生成不同平台的镜像文件,例如VM、vbox、AWS等,作者是vagrant的作者
skynet:分布式调度框架
Doozer:分布式同步工具,类似ZooKeeper
Heka:mazila开源的日志处理系统
cbfs:couchbase开源的分布式文件系统
tsuru:开源的PAAS平台,和SAE实现的功能一模一样
groupcache:memcahe作者写的用于Google下载系统的缓存系统
god:类似redis的缓存系统,但是支持分布式和扩展性