为什么要使用 Go 语言,Go 语言的优势在哪里

Python020

为什么要使用 Go 语言,Go 语言的优势在哪里,第1张

写并发简单(然后看到这个特点,心想这个好,我要用?

语法简单易学(开始认真学了,体会到这个特点了?

错误处理机制(实际项目里发现error ,panic ,recover 真好用?

部署简单(再也不用检查这版本那环境了,即丢即运行!?

跨平台编译(第三个实际项目生产环境是win,在Mac刷刷刷就编译出exe来了,不用开虚拟机了,爽!)

想象下,让一个水平一般的开发者用c或者c++去独立开发一个高并发的服务器端比较困难,但是用golang就容易许多。不用依赖其他第三方库,仅仅用golang自带的package和功能就可以开发一个高性能的server端,何乐而不为呢。

1. 部署简单

Go

编译生成的是一个静态可执行文件,除了glibc外没有其他外部依赖。这让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。

2. 并发性好

Goroutine和channel使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个Go应用也能有效的利用多个CPU核,并行执行的性能好。

3. 良好的语言设计

从学术的角度讲Go语言其实非常平庸,不支持许多高级的语言特性但从工程的角度讲,Go的设计是非常优秀的:规范足够简单灵活,有其他语言基础的程序员都能迅速上手。更重要的是

Go 自带完善的工具链,大大提高了团队协作的一致性。

4. 执行性能好

虽然不如 C 和 Java,但相比于其他编程语言,其执行性能还是很好的,适合编写一些瓶颈业务,内存占用也非常省。

Go语言自亮相以来并没有展示一个明确的方向,Google员工将Go语言称为一个“试验性语言”,称其试图融合Python等动态语言的开发速度和C或C++等编译语言的性能和安全。一位Go语言的支持者概括而言Go语言如下:简单、快速、安全、并发、快乐编程、开源;但Go语言缺乏方向以及其“集大成者”的尝试很容易会导致其学猫不成学狗也不成,沦为四不像。尽管如此,编者仍然觉得Go语言有相当大的潜力:很多开发者对它感兴趣——不仅它的最初设计者阵容强大,而且在参与修改源代码的人群中也不乏大牛级人物。这很有可能帮助Go语言找到适合自己的方向,开拓系统编程的新方向。