任何在 Zapier 或者听过我周五快速演讲的人都可以证明,我认为 Go 是一个很棒的编程语言。在这篇文章中,我将分享一下为什么我认为它很棒,使用它的一些缺点,以及为什么它还不是我们 Zapier 堆栈中的一部分。
Go 是 Google 开发的编程语言,旨在帮助大型开发团队成功构建和维护高性能软件项目。 它于 2009 年起开源,并于 2012 年发布 Go 1.0。此后,许多组织,包括像 Docker 和 Hashicorp 这样的突出的公司已经开始在项目中使用该语言取得圆满成功。
My First Go at Go
我写第一行 Go 程序大概是在 4 年前。一开始,我不得“要领”。这个语言似乎很有趣,程序员们都在吹嘘 Go 的好,但我对这些好处并没有什么概念。直到我把一个 Python 的真实项目移植到 Go,真实世界的需求才让我欣赏到 Go 的美妙。
我移植的项目是使用 Redis 实现的一个非常小的 REST API。它只是一个简单的缓存系统,把“不活动的”数据移动到磁盘上,而把“活动的”数据保留在 Redis 中。我需要一个简单的方法来分发这个 API 并配置 Redis 服务器,使其不会消耗大量的内存,并保持快速。使用 Go 后,发现它的 Spoiler Alert 非常适合这样的需求。
Go! 用在哪里比较好?
Go 非常适合系统编程。它被吹捧为中级语言,介于像 C 这样的低级语言和像 Python 这样的高级语言之间。这里列了一些 Go 适合构建的应用类型:
命令行应用
网络服务
Daemons(守护进程)
数据库
但是,甚至有人用它做这些事情:
嵌入式开发
轻量级的微服务
基础设施
Go 足够灵活可以解决大多数问题,甚至有时候会比其它语言做得更好。这里有一个使用 Go 的公司列表,让人印象深刻,它包括 Docker、Cloudflare、Dropbox、Intel、Hashicorp,当然,还有 Google。
综上所述:Go 是个非常棒的编程语言,我们可以用它来构建高性能系统。在像大多数语言那样进行权衡的时候,重点考虑的是稳定和易于使用。Go 学起来很容易,多数程序员在使用数周后都能使用它高效地编程。
也许有一天你会读到另一篇文章,提到我们使用 Go 开发 ZYX 替代了 XYZ。如果你愿意成为团队的一员,考虑可能使用的新语言并改进我们现有的应用的话,来看看我们的职位。
有疑问加站长微信联系(非本文作者)