Go的历史
- 上个世纪70年代Ken Thompson和Dennis M. Ritchie合作发明了UNIX操作系统同时Dennis M. Ritchie发明了C语言。
- 2007年的Robert Griesemer,Rob Pike和Ken。 Thompson三位大牛在Google公司开始编写和设计Go语言。
- 2009年Go正式宣布推出,版本1.0在2012年3月发布。
- 版本1.5 新 GC 算法,实现并发标记和清理,增加控制器和辅助回收等
- 版本1.11 实验性启用版本和依赖管理 Modules,替代 GOPATH
Go的优缺点
- 优点
- 简单高效,Go继承了C语言,但是语法更加简洁,可以直接编译成二进制文件执行,内置虚拟机运行速度快。
- 并发支持好,Go独特的使用CSP并发模型,简单来说就是“不要以共享内存的方式来通信,相反,要通过通信来共享内存。”
- 静态语言编译时有类型检测,同时提供动态语言的特性,例如支持匿名函数和闭包。
- 内置强大的工具可以帮助开发人员编写的代码可读性和维护性更高。
- 强大的社区和生态系统
- 缺点
- 错误处理,如果有错误,Go需要函数返回错误。可能导致错误跟踪丢失和缺少有用的错误处理逻辑。
- 包管理,Go的包管理不完善,虽然Go 1.11版本加入了go mod解决一直存在的依赖管理的短板,但是一些老项目支持并不好