Go 是在 2007 年由 Robert Griesemer、Rob Pike 和 Ken Thompson 设计的。十五年后,它成为了编程语言的主流。
在那个时候,许多其他语言也被开发出来。那么,为什么尽管经历了起起落落,开发人员和公司始终选择 Go 而不是 C、C++、Java、Javascript 和 Python 呢?
Go 语言是开源的,并且是强类型的。但这不是 Go 的主要卖点。还有其他更重要的原因。
Go 在设计上是并发的
当我第一次了解goroutines和channels时,它立即点击了。Go 处理并发的方式感觉很自然,我想知道为什么其他人不使用相同的方法。
要异步调用一个函数,你只需在它前面加上一个go关键字:
image.png在上面的示例中,我正在创建一个带有 hello 和 world 函数的 goroutine。然后我打印“I say, ”。
因为 goroutines 等待一两秒,所以“Hello”和“World”显示在第一个短语之后,并且以正确的顺序显示。
这是可能的,因为go关键字异步调用方法。
专业提示:您可以在浏览器中测试 Go,甚至在移动设备上。看看Go Playground。
不必处理其他语言期望我编写的所有样板,只是为了异步调用某些东西是 Go 语言的一个伟大的出现。
并发代码通信轻而易举
编程语言提供了多种方式来建立并发代码段之间的通信,通常作为一种解决方法而不是核心概念。
在这方面,Go 还提供了一个令人耳目一新的解决方案,称为通道:
image.png在此示例中,我正在使用关键字chan和make 创建一个频道。 helloSender 向该通道发送一个字符串。名为helloReceiver的函数运行一个无限循环。每次在通道中出现一个新字符串时,它都会打印它。
这只是 Go 的许多并发特性的一瞥。
并发是当今软件工程的标准。Go 语言提供的远不止这些。但这是您需要更多地了解该语言的唯一原因。
如果您想了解更多,请查看Go Tour
点赞、关注、收藏和分享更多关于 Go 和软件工程的文章。
网友评论