为什么要学习 Go?

为什么要学习 Go?
图片来源

Go 是一种相对年轻但流行的编程语言。 经过 调查数据 Stack Overflow 上,Golang 在开发者希望掌握的编程语言排名中名列第三。 在本文中,我们将尝试了解 Go 流行的原因,并探讨这种语言的使用场景以及为什么它通常值得学习。

有一点历史

Go 编程语言是由 Google 创建的。 实际上,它的全名Golang是“Google语言”的衍生词。 尽管在公告中该语言被称为“年轻”,但今年它已经十岁了。

Go 的创建者的目标是开发一种简单而高效的编程语言,可用于创建高质量的软件。 Go 的创建者之一 Rob Pike 表示,Go 是为公司的程序员设计的,这些程序员是相对应届毕业生,了解 Java、C、C++ 或 Python。 对于他们来说,Go 是一种可以快速理解并习惯的语言。

最初,它是谷歌内部的一个工具,但随着时间的推移,它从公司深处出现并成为公众知识。

语言优势

Golang 有很多优点,既有广为人知的,也有不那么知名的。

简单。 实际上,这是创建该语言的主要目标,并且它已经实现了。 Go 具有相当简单的语法(带有某些假设),因此应用程序的开发速度比其他一些语言更快。 这里有两点很有趣。

首先,对于一个完全不懂任何语言并且只是计划成为一名开发人员的编程初学者来说,Golang 可以很快学会。 人们可以说 Go 几乎和 PHP 甚至 Pascal 一样简单(相对而言),但和 C++ 一样强大。

其次,Go 可以由已经“成型的程序员”(已经了解一种或多种语言)来掌握。 大多数情况下,开发人员在掌握 Python 或 PHP 后才学习 Go。 此外,一些程序员成功地使用了 Python/Go 或 PHP/Go 对。

大量的图书馆。 如果您缺少 Go 中的某个功能,您可以使用众多库之一来完成工作。 Go还有另一个优点——你可以轻松地与C库交互。 甚至有一种观点认为 Go 库是 C 库的包装。

代码清洁度。 Go 编译器可以让你保持代码干净。 例如,未使用的变量被视为编译错误。 Go 解决了大多数格式化问题。 例如,可以在保存或编译时使用 gofmt 程序来完成此操作。 格式会自动更正。 您可以在本教程中找到有关这一切的更多信息。 有效.

静态类型。 Go 的另一个优点是它减少了开发人员犯错误的可能性。 是的,在最初的几天里,习惯了动态类型的程序员会因为必须为每个变量和函数以及其他所有内容声明类型而感到恼火。 但随后我们就会发现,这里存在着持续的优势。

戈多克。 一个大大简化记录代码的实用程序。 GoDoc 的一大优点是它不使用 JavaDoc、PHPDoc 或 JSDoc 等额外语言。 该实用程序使用从记录的代码中提取的最大信息量。

代码维护。 由于其简单而简洁的语法,它很容易维护。 这一切都是谷歌的遗产。 由于公司拥有大量各种软件产品的代码,以及数以万计的开发人员对其进行整理,因此出现了维护问题。 代码应该是每个使用它的人都可以理解的、文档齐全且简洁的。 这一切都可以通过 Go 实现。

同时Golang没有类(有结构体、struct),也不支持继承,这大大简化了更改代码。 另外,没有例外、注释等。

你能用 Go 写什么?

几乎所有内容,除了某些点(例如,与机器学习相关的开发 - 在 C/C++ 和 CUDA 中进行低级优化的 Python 更适合这里)。

其他一切都可以写,对于 Web 服务尤其如此。 此外,Go 值得为最终用户和开发守护进程、UI 开发应用程序,并且适合跨平台应用程序和服务。

对Golang的需求

为什么要学习 Go?
随着时间的推移,人们对该语言的需求越来越大。 除了上图中出现的公司外,Mail.ru Group、Avito、Ozon、Lamoda、BBC、Canonical 等也与 Golang 合作。

“我们决定扩大业务;建立一个全新的技术平台以确保产品的快速开发对我们来说非常重要。 我们依赖 Go 是因为它的速度和可靠性,最重要的是,使用它的程序员的受众,”Ozon 代表在 2018 年公司决定转向 Golang 后表示。

那么收入呢?去年 Go 开发者的平均工资为 60-140 万卢布 数据 《我的圈子》 与2017年相比,这一数字增长了8,3%。 由于许多公司需要 Golang 开发人员,2019 年可能会继续增长。

接下来是什么?

Golang的发展绝对不会停止。 对懂得这种语言的优秀专家的需求只会增加,因此专家(初学者或专业人士)找到工作并不困难。 原则上,这个说法在今天仍然适用,因为 IT 市场上开发人员持续短缺。

Go 对于初学者程序员和已经了解一种或多种编程语言的专业人士都有好处。 几乎任何程序员都可以学习或重新学习它。

文章是与老师共同编写的 Golang课程 在 Sergei Kruchinin 的 GeekBrains 上,非常感谢他!

来源: habr.com

添加评论