- Go语言开发实战(慕课版)
- 千锋教育高教产品研发部
- 801字
- 2020-08-27 13:29:33
1.2.1 Go语言的特点和优势
1.简单易学
Go语言语法简单,包含了类似C语言的语法。如果读者已经掌握了两到三门编程语言,那么学习Go语言只需要几天的时间。即使是一名刚入门的开发者,花几个星期也能写出性能较高的Go语言程序。
2.自由高效
Go语言的编译速度明显优于Java和C++,还拥有接近C语言的运行效率及接近PHP的开发效率。Go语言将运行效率和开发效率进行了完美的融合。Go语言支持当前所有的编程范式,包括过程式编程、面向对象编程、面向接口编程、函数式编程。开发者们可根据需求自由组合。
3.强大的标准库
Go里面的标准库非常稳定,丰富的标准库覆盖网络、系统、加密、编码、图形等各个方面。尤其是网络和系统的库非常实用,使得开发者在开发大型程序时,几乎无须依赖第三方库。
4.部署方便
Go语言不使用虚拟机,Go语言的代码可以直接输出为目标平台的二进制可执行文件。Go语言拥有自己的链接器,不依赖任何系统提供的编译器和链接器。因此编译出的二进制可执行文件几乎可以运行在任何系统环境中。
5.原生支持并发
Go是一种非常高效的语言,从语言层原生支持并发,使用起来非常简单。Go的并发是基于Goroutine的。Goroutine类似于线程,但并非线程,是Go面向线程的轻量级方法。创建Goroutine的成本很低,只需几千个字节的额外内存。通常一台普通的桌面主机运行上百个线程就会负载过大,同样的主机却可以运行上千甚至上万个Goroutine。Goroutine之间可以通过channel实现通信。Goroutine以及基于channel的并发性方法可最大限度地使用CPU资源。
6.稳定性强
Go拥有强大的编译检查、严格的编码规范、很强的稳定性,此外Go还提供了软件生命周期(如开发、测试、部署、维护等)的各个环节的工具,如go tool、go fmt、go test。
7.垃圾回收
Go语言的使用者只需要关注内存的申请而不必关心内存的释放,Go语言内置runtime来自动进行管理。虽然目前来说GC(Garbage Collection,垃圾回收机制)不算完美,但是足以应付开发者遇到的大多数情况,使开发者将更多精力集中在业务上,同时Go语言也允许开发者对此项工作进行优化。