Go,通常被称为 Golang,是一种来自 Google 的开源编程语言,并于 2011 年发布了第一个稳定版本。Robert Griesemer、Rob Pike 和 Ken Thompson 于 2007 年首次发起了 Go 的设计,并于 2009 年开源.
注意事项: Golang 的灵感来自 Modula、Smalltalk、Oberon、Algol、Pascal、C 和 Newsqueak 等语言。
编程语言继承自 Oberon 语言,而语法灵感来自于 Smalltalk 的 OOP。并发来自 Newsqueak。
Go的时代
Google 的Golang如此受欢迎的主要原因是,与其他快速语言(例如 C)相比,它具有一些很好的优势。
编译运行时错误、依赖项和速度是巨大的,因此 Ruby、Node.js 或 Javascript 等语言有时可能无法带来预期的结果。Node 和 JS 有点疯狂,Ruby 可能会变得不安全和缓慢,Java 有时会变得冗长和复杂。
Go 在一定程度上解决了这些问题,并且确实为用户提供了一些优势。当然,也有一些缺点,毕竟任何事情都有两面,优化的同时定然要舍弃一些东西。
谷歌为Golang 提供资金。Go 由一些真正的天才创建,它的创造者 Robert Griesemer、Rob Pike 和 Ken Thompson 已经因其在 Unix、JVM、C、B 等方面的贡献而闻名。大家相信这种语言是为了解决过去各种语言遗留的问题,并且应对未来的未知挑战而产生的。
如果您的开发人员团队希望从他们的旧语言转移到新语言,Go 将是一个不错的选择,因为语法只有轻微的变化,因为它看起来与其他学习语言几乎相似。文档也很容易理解。团队可以在几周内掌握它,如果您使用标准库,有时甚至几个小时。编写一个简单的命令行应用程序和简单的 HTTP 服务器都是小菜一碟。
并发是出了名的困难,但幸运的是,使用这种开源编程语言,并发是易于处理且非常容易的。开发人员可以更快地完成请求,更早地释放硬件和网络资源。
如果有任何问题,gophers(Golang 开发人员被称为)会检测并纠正问题,因此在成为问题之前很容易解决。
该语言使开发人员更容易执行诸如内存管理之类的活动。它自己处理所有的工作。
编程语言完全依赖于静态代码分析。例如,用于文档的 godoc、用于代码样式列表的 glint、用于代码格式化的 gofmt 等等。Go 工具被实现为独立的命令行应用程序,因此它们可以轻松地与任何编码环境集成。Go语言在静态代码分析方面做得很好,检查的覆盖范围也很广泛,因此它值得信赖。
开发人员喜欢该语言带有内置测试工具,甚至 Go test 对外提供 API 用以使用。该工具使测试和分析可执行代码变得非常容易。还可以使用高级功能,例如并行运行测试、标记测试等。
简单的结构和语法绝对是一个优势,开发人员发现它更容易学习。此外,它没有类型继承和类。这使的更容易在市场上快速发布产品,甚至更好地维护它。
由于 Go 没有虚拟机,如果可以排除 Go 的中间程序集,它可以直接编译为机器码。这使它非常快。此外,您可以跨平台编译到 Windows、Android、Linux 等。
对于严控的程序员来说,会爱上可爱的地鼠吉祥物 >_<
根据Tiobe Index,编程语言名人堂于 2016 年进入 Go。查看下图:
GitHub 还提供了流行的编程语言列表。Go 在前 15 位。请在下面查看:
作为一种非常年轻的语言,开发人员可能会发现很难最大限度地利用这些库。他们可能不得不自己编写 lib 包,而且没有多少书籍或在线课程可以提供帮助,尽管有很多疑问。
手动内存管理很重要,缺少它可能会导致开销垃圾收集、暂停等问题,进而可能导致系统编程。
语言的简单性可能是一个问题,因为它使它变得肤浅。为了使它变得简单,该语言浪费了几年的编程语言进步。
尽管错误处理在 Go 中并不完美,但它的不完美性可能会让您着迷。仍在寻找解决方案,并提出了错误处理的建议。
Go 是安全的,但它没有提供 Rust 提供的安全级别。安全级别仅是编译时,在一定程度上是运行时。Go 专注于生产速度,Rust 专注于安全方面。
其他缺点包括运算符重载,以及代码重复和元编程中的问题,因为这些无法静态检查。
当您进行新项目或计划改进下一个项目时,Go 绝对是一个不错的选择。一旦你习惯了 Golang 的开发,你就可以让它成为主流,因为它的优势远胜于劣势。
它可以帮助您在时间线和预算内构建复杂的应用程序,并且每秒可以轻松处理 1000 个并发请求,这在其他语言中可能是出了名的困难。毕竟,您可以在不使用任何第三方服务的情况下构建自己的产品。