Modern Go Guidelines指南文档平台首页 Go 指南列表目的 Go 版本支持指南查找指南内容安装 Modern Go Guidelines从市场安装从本地仓库安装更新现有 Go 代码 Modern Go Guidelines 是面向 AI 编码代理的开源软件包。它提供与你项目中的 Go 版本兼容的 Go 指导。请参阅 GitHub 上的 Modern Go Guidelines 仓库。AI 编码代理可能会选择过时的 Go 模式。它们的训练数据可能不包含模型知识截止日期之后新增的功能。即使代理知道较新的模式,也可能选择在训练数据中更常出现的较旧模式。Modern Go Guidelines 提供语言功能和标准库 API 的参考。代理会读取项目的 go.mod 文件中声明的 Go 版本。它只会接收该版本中可用功能的指导。例如,在使用 Go 1.25 的项目中工作的代理可以使用 sync.WaitGroup.Go。它不会接收 slices.SortedMap 的指导,因为该功能需要 Go 1.26。Modern Go Guidelines 包含一个命令行工具,提供 guidelines 和 info 子命令。代理通过已安装的技能使用该工具。在编辑 Go 文件之前,代理会为该文件调用 guidelines。该命令返回适用于你项目中 Go 版本的简短指南:guidelines ./handler.go 代理也可以直接指定 Go 版本:guidelines --go 1.25 ./handler.go 输出会从最新的适用指南开始。每条指南都有稳定的 ID:GO125-WAITGROUP-GO use sync.WaitGroup.Go instead of manual Add/Done bookkeeping GO124-OMITZERO use omitzero for Go-zero-value-sensitive JSON fields 当代理需要有关某条指南的更多信息时,会使用指南 ID 调用 info。该命令返回说明以及前后对比示例:info GO125-WAITGROUP-GO 该工作流将指导限制为适用于任务的信息。Modern Go Guidelines 涵盖从 Go 1.0 到 Go 1.27 的实用语言功能和标准库新增内容。它们还包括 Go modernize 分析器涵盖的模式。这些指南可帮助代理使用现代模式,例如:slices.Contains, 而不是手动搜索循环。min 和 max, 而不是手写比较。cmp.Or, 而不是选择第一个非零值的链。sync.WaitGroup.Go, 而不是分别调用 Add、Done 和 go。例如,Go 1.25 或更高版本的指南可以替代手动 sync.WaitGroup 记账:// before var wg sync.WaitGroup for _, item := range items { wg.Add(1) go func() { defer wg.Done() process(item) }() } wg.Wait() // after var wg sync.WaitGroup for _, item := range items { wg.Go(func() { process(item) }) } wg.Wait() sync.WaitGroup.Go 会启动 goroutine,并管理匹配的 Add 和 Done 调用。当 goroutine 的生命周期与 WaitGroup 的生命周期一致时,代理会使用此模式。Modern Go Guidelines 可用于 Junie、Claude Code、Codex、光标以及其他支持技能的编码代理。安装 Go 工具链,并使其可在路径中使用。首次使用时,集成会在本地缓存中安装其命令行工具。它不会修改你的项目。将 Modern Go Guidelines 仓库添加为市场。在 Claude Code 会话中,运行:/plugin marketplace add go-modern-guidelines https://github.com/JetBrains/go-modern-guidelines/blob/main/marketplace.json 在终端中,运行:claude plugin marketplace add go-modern-guidelines https://github.com/JetBrains/go-modern-guidelines/blob/main/marketplace.json 从市场安装插件。启动或重启 Go 项目中的代理。当代理处理 Go 代码时,会使用已安装的技能。获取 Modern Go Guidelines 仓库的本地副本。使用此方法可在发布更改前进行测试。检查仓库是否包含适用于你的代理的市场定义。仓库根目录必须包含 marketplace.json。将本地仓库添加为市场。将示例路径替换为你的仓库的绝对路径。claude plugin marketplace add go-modern-guidelines-local file:///absolute/path/to/go-modern-guidelines/marketplace.json 从本地市场安装插件。对于 Junie、光标、其他代理以及更新说明,请参阅 Modern Go Guidelines 仓库。Modern Go Guidelines 适用于新代码。要查找并更新项目中已有的过时代码,请使用 Go 语法更新检查。
目的
AI 编码代理可能会选择过时的 Go 模式。 它们的训练数据可能不包含模型知识截止时间之后新增的功能。 即使代理知道较新的模式,也可能选择在训练数据中更常出现的较旧模式。
Modern Go Guidelines 提供语言功能和标准库 API 的参考。
Go 版本支持
代理会读取项目的 go.mod 文件中声明的 Go 版本。 它只会接收该版本中可用功能的指导。
例如,在使用 Go 1.25 的项目中工作的代理可以使用 sync.WaitGroup.Go。 它不会接收 errors.AsType 的指导,因为该功能需要 Go 1.26。
指南查找
Modern Go Guidelines 包含一个命令行工具,提供 list 和 explain 子命令。 代理通过已安装的技能使用该工具。
在编辑 Go 文件之前,代理会为该文件调用 list。 该命令返回适用于你项目中 Go 版本的简短指南:
代理也可以直接指定 Go 版本:
输出会从最新的适用指南开始。 每条指南都有稳定的 ID:
当代理需要有关某条指南的更多信息时,会使用指南 ID 调用 explain。 该命令返回说明以及前后对比示例:
该工作流将指导限制为适用于任务的信息。
指南内容
Modern Go Guidelines 涵盖从 Go 1.0 到 Go 1.27 的实用语言功能和标准库新增内容。 它们还包括 Go modernize 分析器涵盖的模式。
这些指南可帮助代理使用现代模式,例如:
slices.Contains,而不是手动搜索循环。min和max,而不是手写比较。cmp.Or,而不是选择第一个非零值的链。sync.WaitGroup.Go,而不是分别调用添加、go和完成。
例如,Go 1.25 或更高版本的指南可以替代手动 WaitGroup 记账:
WaitGroup.Go 会启动 goroutine,并管理匹配的 添加 和 完成 调用。 当 goroutine 的生命周期与 WaitGroup 的生命周期一致时,代理会使用此模式。
安装 Modern Go Guidelines
Modern Go Guidelines 可用于 Junie、Claude Code、Codex、Cursor 以及其他支持技能的编码代理。
安装 Go 工具链,并使其可在 PATH 中使用。 首次使用时,集成会在本地缓存中安装其命令行工具。 它不会修改你的项目。
从市场安装
将 Modern Go Guidelines 仓库添加为市场。
在 Claude Code 会话中,运行:
/plugin marketplace add JetBrains/go-modern-guidelines在终端中,运行:
codex plugin marketplace add JetBrains/go-modern-guidelines从市场安装插件。
/plugin install modern-go-guidelines@goland-claude-marketplacecodex plugin add modern-go-guidelines@goland-codex-marketplace启动或重启 Go 项目中的代理。 当代理处理 Go 代码时,会使用已安装的技能。
从本地仓库安装
获取 Modern Go Guidelines 仓库的本地副本。 使用此方法可在发布更改前进行测试。
检查仓库是否包含适用于你的代理的市场定义。
仓库根目录必须包含 .claude-plugin/marketplace.json 。
仓库根目录必须包含 .agents/plugins/marketplace.json 。
将本地仓库添加为市场。 将示例路径替换为你的仓库的绝对路径。
claude plugin marketplace add /absolute/path/to/go-modern-guidelinescodex plugin marketplace add /absolute/path/to/go-modern-guidelines从本地市场安装插件。
claude plugin install modern-go-guidelines@goland-claude-marketplacecodex plugin add modern-go-guidelines@goland-codex-marketplace启动或重启 Go 项目中的代理。
有关 Junie、Cursor、其他代理以及更新说明,请参阅 Modern Go Guidelines 仓库。
更新现有 Go 代码
Modern Go Guidelines 适用于新代码。 要查找并更新项目中已有的过时代码,请使用 Go 语法更新检查。