优点:
1.极简单的部署方式
直接编译成机器码、不依赖其他库、直接运行即可部署;
2.静态类型语言
编译的时候检查出来隐藏的大多数问题;
3.语言层面的并发
天生的基因支持、充分利用多核;
4.强大的标准库
runtime系统调度机制、高效的GC垃圾回收、丰富的标准库;
5.简单易学
25个关键字、C语言基因,内嵌C语言支持、面向对象特征(封装、继承、多态)、跨平台;
6.大厂领军
有很多问题对应的解决方案已经被开发出来。
缺点:
1、包管理,大部分都在github上,私人账户维护,风险较大;
2、无泛化类型(go 2.0计划加上);
3、所有的exception都用Error来处理;
4、对C的降级处理,并非无缝,没有C降级到asm那么完美(序列化问题)。
值得注意的是,因为垃圾回收和自动内存分配的原因,Go 语言不适合用来开发对实时性要求很高的软件。