Go语言是谷歌发布的第二款开源编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性,并专门针对多处理器系统应用程序的编程进行了优化,开发速度极快,可以与C或C++媲美,而且更加安全、支持并行进程。
对于Go语言,一直存在着争议,很多人善于用Go语言进行开发,但不是所有人都喜欢Go语言,那么Go语言的存在有什么价值?Go语言的优势在哪里呢?
**1. 部署简单**
Go 编译生成的是一个静态可执行文件,除了 glibc 外没有其他外部依赖。这让部署变得异常方便,目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。
**2. 并发性好**
Goroutine和 channel 使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个 Go 应用也能有效的利用多个 CPU 核,并行执行的性能好。
**3. 良好的语言设计**
从学术的角度讲 Go 语言其实非常平庸,不支持许多高级的语言特性;但从工程的角度讲,Go 的设计是非常优秀的,规范足够简单灵活,有其他语言基础的程序员都能迅速上手。更重要的是 Go 自带完善的工具链,大大提高了团队协作的一致性,比如 gofmt 自动排版,Go 代码,很大程度上杜绝了不同人写的代码排版风格不一致的问题。把编辑器配置成在编辑存档的时候自动运行 gofmt,这样在编写代码的时候可以随意摆放位置,存档的时候自动变成正确排版的代码。此外还有 gofix, govet 等非常有用的工具。
**4. 执行性能好**
虽然不如 C 和 Java,但通常比原生Python 应用还是高一个数量级的,适合编写一些瓶颈业务,内存占用也非常省。
Go语言虽然没有得到广泛的应用,但由于高效、易学、易用、易维护的特性,十分适合开发大型软件,很多大公司都在使用,如Google、Facebook、腾讯、百度、阿里巴巴、京东、小米以及360、美团、滴滴以及新浪等,因此,Go语言的开发前景还是很不错的!
最后给大家推荐几套Go语言视频教程:
[Go语言11套视频教程](https://www.sucaihuo.com/video/384.html)
[Go语言入门+实战视频教程](https://www.sucaihuo.com/video/172.html)
[2018精选整理的Go语言编程视频教程](https://www.sucaihuo.com/video/414.html)
[docker从入门到实战视频教程](https://www.sucaihuo.com/video/405.html)