Go 语言的 Exercism 练习。
Exercism Go Track Exercism Go 练习。问题/反馈 ⚠️ 请注意,此仓库目前不接受社区贡献。此博文解释了详细信息。 如果您有任何反馈或遇到问题,可以在 Exercism 论坛的 Go 部分提出。 开发设置 如果您在本仓库上工作,则应遵循一些标准的 Go 开发实践。 您应该安装最新版的 Go,最好是当前版本或之前版本。 您需要一个 GitHub 帐户,并且需要将 exercism/go 克隆到您的帐户中。 如果您不熟悉此过程,请参阅 GitHub 说明。 使用以下命令克隆您的分支:git clone https://GitHub.com/<你>/go。 通过进入 go 目录并键入 bin/fetch-golangci-lint,然后键入 bin/run-tests 来测试您的克隆。 您应该看到所有练习的测试都通过。 注意,与大多数其他 Go 代码不同,不需要将此仓库克隆到您的 GOPATH 中。 这是因为此仓库只从标准库导入,并且不应被其他包导入。 您的 Go 代码应使用 gofmt 工具进行格式化。 有一个拼写错误工具。 您可以安装它并偶尔运行它,以查找低级的打字错误。 570 由于它可能会产生假阳性,因此没有将其添加到 CI 中。 如何贡献指南 请熟悉 docs 仓库中的贡献指南。 这介绍了一些参与的好方法。 特别是,请在打开 Pull Request 之前阅读 Pull Request 指南。 Exercism Go 样式 让我们通过一个不存在的示例练习来看看其实现中可能包含什么内容,我们将其命名为 fizzbuzz。 练习配置 一个练习通过 config.json 文件中的 exercises 数组中的一个条目进行配置。 如果 fizzbuzz 是一个可选练习,它可能看起来像下面的核心练习:
请参阅 Exercism Docs: config.json 以了解更多信息。 练习文件:概述 对于任何练习,您可能会在 exercises/ 目录下看到一些文件:
此文件列表 可能会变化,不同的练习可能使用这些文件中的某些文件。 并非所有练习都使用这些文件。 练习从 Exercism 问题说明仓库中获取测试数据和 README 文本。 此仓库收集了跨所有轨道的所有练习的常见信息。 然而,如果需要在练习中包含针对特定轨道的文档,则可以使用练习的 .meta/ 目录中的文件来覆盖或扩展练习的 README。 让我们简要描述每个文件: - cases_test.go - 使用来自问题说明仓库的测试数据生成的测试用例。 仅在某些练习中存在。 由 .meta/gen.go 自动生成。 - example.go - 用于验证测试套件的练习示例解决方案。 由 exercism fetch 命令忽略。 另请参阅忽略文件。 - fizzbuzz.go - 一个 空文件,在一些早期练习中用于给用户提供…
实现新概念练习:字符串构建器
概念正则表达式: 添加一些更多的细节
我们正在将此仓库翻译成其他语言
审查现有概念
实施新的概念练习:时间持续时间
数字概念:改进 about.md 和 introduction.md
实施新概念练习:通道和选择
实现新概念练习:位运算符
在教学大纲中加入并发概念
改进接口、错误和错误包装的学习体验