Go语言相对Java主要优点是其并发组件模型,Java的并发比较低级,无非是多线程与锁,想搞清楚Java中各种锁的用途,包括数据集合Collection的线程安全性与性能差异对比,需要花费大量时间与精力,包括使用经验。而Go语言使用了Channel/CEP这样的组件简单封装了多线程与锁,将以前JMS的Queue队列模型架构引入到了语言之中,两个对象之间交互只要通过Channel通道就可以。这种模型保证了并发性,有简化了编程模型,无疑受到很多人的欢迎。Go语言当前也受到更加强劲的Rust语言挑战,如果说,Go语言的Channel是一种有形的设计,那么,Rust语言的并发模型达到无形的设计,只要你编写好函数方法,安全性与并发性就无形中得到了解决,不用专门去思考并发,有意识地去使用并发组件模型编程。