学习 Golang 的七大理由

Original: https://www.geeksforgeeks.org/top-7-reasons-to-learn-golang/

Golang是一种开源、轻量级的过程性编程语言,由 Google 的 Robert Griesemer、Rob Pike 和 Ken Thompson 于 2007 年开发,但于 2009 年作为开源编程语言推出。 根据人气指数,它目前排在第 13 位,而两年前排在第 65 位。 Golang 在 Google 和许多开源项目的生产中被广泛使用。

Top-7-Reasons-to-Learn-Golang

它旨在简化软件开发过程,特别是对于复杂的体系结构和过程。 这就是为什么大型科技巨头和跨国公司(如 Facebook、苹果、谷歌、Docker 等)都在采用它的原因。 它是一种设计精良的编程语言,让我们明白为什么要学习它。

1.易学

因为 Golang 的语法有点类似于 C 语言,所以很容易掌握,特别是对于 C 风格或Java程序员。 与许多其他编程语言相比,Go 的语法较小,并且只有一组最低限度的功能来完成任务。 核心语言由几个简单的、正交的功能组成,这些功能可以以相对较少的方式组合在一起。 这使得学习这门语言以及阅读和编写程序变得更容易。 不仅清晰,而且还提供了大量文档,可以从头开始理解概念。

2.并发性

使用其他编程语言(如 Python、Java 等)创建多线程应用程序很困难,因为它们经常会遇到性能问题、并发执行、线程锁定、争用条件和死锁。 在发展戈朗的同时,这一点也被牢记在心。 Golang 有 Goroutines 的概念,它是由 Go 运行时管理的轻量级线程。 它有可扩展的分段堆栈,这意味着只有在需要时才会使用更多内存。 Goroutines具有内置原语,可在通道之间安全通信。 在共享数据结构时,它允许您避免求助于互斥锁。

3.联网

Go 可以拥有高质量的解析库,这些解析库很容易插入到其他库中。 它非常适合编写网络应用程序,比如在生产级编写 TCP 或 HTTP 服务器。 它还使发明您的协议成为可能。 此外,它有许多很酷的库,如 NETCONF、ssh等,可以与网络一起使用,性能也很好。 人们可以找到几乎所有与网络相关的函数的代码示例。

4.标准库

Go 有一个令人惊叹的标准库,它为处理原始类型提供了大量方便易用的内置函数和包。 一些包使得处理 I/O、编码和解码、操作原始字节、网络实用程序函数、解析、调试等等都变得很容易。 不限于此,不需要额外的依赖,因为对测试的支持也内置于标准库中。

5.可维护性

Go 故意省略了现代面向对象编程语言中存在的许多特性。 因为 Go 中的所有东西都只分成包,所以它只有结构,而没有类。 它没有任何单独的运行时库。 也没有继承的概念。 这最终使维护和修改变得更容易,因为跟踪要继承的类没有任何开销。 除此之外,没有动态库、注释、构造函数,甚至没有泛型!

6.工具

因为 Go 是开源的,所以已经有了大量的开发工具和各种服务于此目的的开发工具。 有一些工具可以重构代码、查找文档、生成测试的代码覆盖率、指出不可靠的并发代码、内存大纲等等。 还有各种编辑器、IDE 和插件可以随时使用。 标准库足以开始创建命令行工具。

7.快速执行

像 Java 这样的现代高级语言首先将程序编译成字节码,这需要操作系统顶部的虚拟机(JVM 或其他 VM)将字节码转换成硬件处理器能够理解的二进制文件。 这是因为 Java 是一种解释语言,而不是编译语言。 这通常会导致较长的执行时间。 另一方面,Go 是一种静态编译语言,这使得它的执行与低级语言足够接近,从而使它非常快。

Golang 的其他好处:

它是由谷歌设计和支持的,这意味着它对基于生产的代码更有用,而且可以高效地管理大型程序。 因为它是开源的,所以可以很容易地为自己模塑和定制。 它支持云原生开发(据说 Go 是 DevOps 的语言),云平台支持运行 Go 代码。 最后但并非最不重要的一点是,Go 开发人员是业内收入最高的开发人员之一,平均年薪为 135,750 美元!