首发于:https://studygolang.com/articles/12565
插图来自 https://github.com/ashleymcnamara/gophers
在这篇文章中,我将会讨论为什么你应该尝试下 语言,并且应该从哪里开始下手。
是一种编程语言,在过去的几年中你可能听说过很多。尽管是在 年创建的,但是近年来才开始流行。
上图是根据 得出的 的流行程度
本文不是关于你通常看到的 的主要卖点。
相反,我想向你介绍一些相当小但仍然很重要的功能,你只有在决定尝试 Go 之后才能了解到这些功能。
这些令人惊叹的特性没有浮于表面,它们可以为你节省大量的工作。它们还可以使软件开发更加愉快。
如果 对你来说是新事物,别担心。本文不需要任何 语言经验。如果你想了解更多,我已经在文章底部添加了一些额外的链接。
我们将会涉及以下主题:
GoDoc
静态代码分析
内置的测试和性能分析框架
竞争条件检测
学习曲线
反射
固定的代码风格
文化
请注意,列表不遵循任何特定的顺序。完全随意排序。
GoDoc
非常重视代码中的文档。在 中,文档也很容易添加。
是一个静态代码分析工具,可以直接从你的代码中创建出漂亮的文档页面。关于 的一个值得注意的事情是,它不使用任何额外的语言,就像 , 或 在代码中的注释结构一样。仅仅只使用英语。
它尽可能多的使用从代码中获取的信息,来构建文档的轮廓,结构化和格式化文档。它具有所有的花里胡哨的东西,比如交叉引用,代码示例和直接链接到版本控制系统库。
所有你能做的就是添加一个好的 注释,这也将会在文档中体现出来。你甚至可以添加代码示例,它可以通过 界面或在本地实际运行。
是整个社区使用的唯一的 文档引擎。这意味着用 编写的每个库或应用程序都具有相同的文档格式。从长远来看,它帮你节省了大量浏览这些文档的时间。
举个例子,这是我最近实现的示例项目的 页面:。
静态代码分析
重度依赖于静态代码分析。例如,包括用于文档的 ,用于代码格式化的 ,用于代码风格检查的 ,以及许多其他的例子。
有这么多的工具,甚至有一个叫 的项目,能够把所有的工具打包组合成一个单一的工具。
这些工具通常作为独立的命令行应用程序来实现,并可以轻松地集成到任何编码环境。
静态代码分析实际上并不是现代编程中的新东西,但是 把它用到了极致。我不能高估它为我节省了多少时间。另外,它会给你一种安全的感觉,好像有人在你的背后替你遮挡风雨。
创建自己的分析工具非常容易,因为 有专门的内置软件包可以用来解析和处理 源代码。
你可以从这个演讲中了解更多:.
内置的测试和性能分析框架
你有没有试过为一个从头开始的 项目选择一个测试框架?如果是这样,你可能会明白,经历这样一个分析瘫痪的斗争。你也许已经意识到你并没有使用你所选择框架的 。
一旦你需要做一些可靠的分析,这个问题就会重复出现。
提供了一个内置的测试工具,旨在简化和高效。它为你提供了最简单可用的,并做出了最小的假设。你可以将其用于不同类型的测试,分析,甚至提供可执行的代码示例。
它开箱即用,能够生成了 友好的输出,使用方法通常和运行 一样简单。当然,它也支持高级功能,如并行运行测试,标记跳过,等等。
竞争条件检测
你可能已经知道 ,它在 中用于实现并发代码执行。如果你还不了解它,这里有一个非常简短的解释。
在复杂的应用程序中进行并发编程并不容易,不管具体的技术如何,部分原因在于竞争条件的可能性。
简而言之,当多个并发操作以不可预知的顺序完成时,竞争条件就会发生。这可能会导致大量的错误,特别难以追查。有没有花了一天的时间去调试一个只能执行大约 情况的集成测试呢?这可能是一个竞争条件。
所有这一切表明,并发编程在 中非常受重视,幸运的是,我们有相当强大的工具来捕捉这些竞争条件。它被完全集成到 的工具链中。
领取专属 10元无门槛券
私享最新 技术干货