Go Control Structures
Fängt Go's klassische Range/Break/Defer-in-Loop-Fußangeln während der Code-Überprüfung ab.
Getestet · Funktioniert
Was es kann
Eine Referenz-Checkliste für vier wiederkehrende Go-Kontrollflussfehler: Modifizieren von Range-Loop-Kopien statt des Originals, Speichern eines Zeigers auf die Range-Variable (alle Einträge zeigen am Ende auf das letzte Element), Break verlässt nur den innersten Switch/Select statt der Schleife und Defer innerhalb einer Schleife wird erst ausgelöst, wenn die Funktion zurückkehrt. Löst beim Schreiben oder Überprüfen von Go-Code aus, der über Slices/Arrays/Maps/Channels iteriert, Break innerhalb von Switch/Select verwendet, das in einer Schleife verschachtelt ist, oder Defer innerhalb des Schleifenkörpers platziert.
Testbericht
Ein 3-Fehler-Go-Datei (Range-Pointer-Falle, Defer-in-Loop-Leak, Break-nur-Exits-Switch) sowohl mit als auch ohne Skill überprüft: Beide Durchläufe fingen alle 3 Fehler ab, aber der Skill-geführte Durchlauf benannte jeden Fallstrick nach seiner kanonischen Kategorie und bestätigte explizit die Abwesenheit der anderen beiden Regelkategorien (Range-Copy-Mutation, Map-Iteration-Gefahren) – eine Checklisten-artige Vollständigkeitsgarantie, die die freie Basisüberprüfung nicht bot.
Getestet am: 2026-07-16 · Claude Code 2.x (agent harness)
Installation
git clone https://github.com/v0lka/skills mkdir -p ~/.claude/skills cp -r skills/development/idiomatic-go/go-control-structures ~/.claude/skills/go-control-structures
Befehle & Beispiel-Prompts
/go-control-structuresFängt Go's klassische Range/Break/Defer-in-Loop-Fußangeln während der Code-Überprüfung ab.
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Review this Go code for range-variable capture and defer-in-loop bugsDoes this break statement actually exit the loop or just the switch?Check my Go function for classic loop and defer footguns before I ship