go-language-correctness
Review and improve Go language-level correctness across numeric conversions, overflow, slices, maps, range loops, comparisons, strings, runes, UTF-8…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Go Language Correctness
Review guarantees before implementation details. Establish the module's Go
language version, then trace representation, ownership, iteration, and text
semantics through observable behavior.
Core Workflow
- Record the module and file language versions plus supported targets.
- Identify external numeric, binary, and text boundaries.
- Trace slice and map ownership, aliasing, capacity authority, and retention.
- Review range copying, mutation, ordering, control flow, and resource scope.
- Distinguish bytes, runes, UTF-8 validity, and user-perceived characters.
- Separate language guarantees from compiler, runtime, and architecture details.
- Add focused boundary tests and run the repository's analyzers.
Read Next
| Task | Load |
|---|---|
| Run a complete correctness review | guidelines.md, workflows/review-language-correctness.md |
| Review guarantees and version boundaries | references/language-correctness/knowledge.md |
| Apply implementation and review rules | references/language-correctness/rules.md |
| Inspect compact bad/good patterns | references/language-correctness/examples.md |
| Verify a change before completion | references/language-correctness/checklist.md |
Guardrails
- Do not convert before checking sign, width, or arithmetic bounds.
- Do not describe a view, reslice, or clipped capacity as an independent copy.
- Do not rely on map order, append growth, bucket layout, or compiler heuristics.
- Do not apply pre-Go-1.22 loop-capture advice without checking language version.
- Do not call byte length, rune count, or grapheme count "characters" without defining it.
- Route measured performance claims to
go-performance-testing.
Source Notes
Guidance is transformed and paraphrased from Teiva Harsanyi, *100 Go Mistakes
and How to Avoid Them* (Manning, 2022), especially Chapters 3-6. Examples are
original.
Verify current contracts against https://go.dev/ref/spec,
https://go.dev/doc/go1.22, https://pkg.go.dev/builtin, and
https://pkg.go.dev/strings.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/LVTD-LLC/skills/skills/go-language-correctness/SKILL.md