Go语言是一种并发的、带垃圾回收的、快速编译的新语言。它具有以下特点:
可以在一台计算机上仅用几秒钟的时间编译一个大型的Go语言程序。
Go语言为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C语言风格include文件与库的开头。
Go语言是静态类型的语言,它的类型系统没有层级。所以,用户不需要在定义类型之间的关系上花费时间,看似比典型的面向对象语言更轻量级。
Go语言完全是垃圾回收型的语言,并且为并发执行与通信提供了基本的支持。
Go语言是一种云计算时代的语言,它能够充分利用计算机的多核,通过轻量级别的goroutine就可以实现多并发。
Go语言是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也计划成为现代的、支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机制,严格的依赖规范等。这些问题无法通过库或工具解决,所以,Go语言应运而生。