个人用下来感觉的特点就是:
1. Go就像是加入了GC、闭包和各种超级语法糖的C,会C或衍生风格语言(C++、Java、PHP等)的人一天上手,比C更规整有序,也不用拘泥与Java式的死板。
2. 服务器端的网络开发代价比C、C++、Java小得多,尤其是并发编程,前述三种语言所需的代码通常比go多一个数量级,但是性能Go却比多数主流语言更接近C。
3. Go开发环境自带工程管理和部署工具,修改和迭代开发工具链都是自循环,而且非常简单。
4. 网络通信方面的原生包库非常完善,网络开发门槛低。
缺点也明显:
1. 描述能力较局限,没有C++那样包罗万象的定制能力,也没有动态语言那么清晰多变的自反能力(虽然Go的反射在静态语言中算是很强了)
2. 开发平台封闭,和其他开发体系的工具链集成非常麻烦,和除C之外的其他语言集成也很麻烦而且没看到什么成功案例
3. 语言太年轻,运行时环境和包库的稳定性缺乏广泛的考验,语言设计上也有很多需要权衡的争议点,事实上过去几年也是问题不断,踩坑远高于Java、Python这些老资格辈
综合来说,Go算是一种相当理想的中间件语言,语言设计专一、开发迭代快、工程管理方便、部署简单、网络通信方便、执行效率高。
作为中间服务,编程的时候业务切割简单,并发堆叠门槛低,响应迅速。
其他方面个人觉得则还有待完善和发掘