Golang简介
一、Golang的优势
1.部署简单:
(1)可直接编译成机器码。
(2)不依赖其他库,最终生成的可执行程序是静态的可执行文件。
(3)直接运行,即可部署。
2.静态类型语言,相比于动态语言(没有编译器,执行过程中逐条检测)在编译时可检测出许多问题。
3.语言层面的并发:天然支持并发,可充分利用多核,提高CPU的利用率。
4.强大的标准库,如:
(1)runtime系统调度机制。
(2)高效的GC垃圾回收。
(3)丰富的标准库。
5.简洁:
(1)25个关键字。
(2)内嵌C语法支持。
(3)面向对象特征。
(4)跨平台语言。
6.大公司开路:Google,如优秀的Go语言开源项目:kubernetes(k8s);facebook;腾讯;百度;京东...
二、Golang的强项及代表项目
1.云计算基础设施领域:docker、kubernetes、etcd、consul、cloudflare CDN、七牛云存储等。
2.基础后端软件:tidb、influxdb、cockroachdb等。
3.微服务:go-kit、micro、monzo bank的typhon、bilibili等。
4.互联网基础设施:以太坊、hyberledger等。
三、不足
1.大部分第三方库都托管在github上,不够稳定。
2.无泛化类型。
3.所有异常由Error处理。