Go Control Structures

Fanger Go's klassiske range/break/defer-in-loop fallgruver under kodegjennomgang.

av v0lka · v0lka/skills

Bestått ★ 8.8/10

Go Control Structures — Fanger Go's klassiske range/break/defer-in-loop fallgruver under kodegjennomgang.

Hva den gjør

En referansesjekkliste for fire tilbakevendende Go kontrollflyt-feil: mutering av range-loop-kopier i stedet for originalen, lagring av en peker til range-variabelen (alle oppføringer ender opp med å peke på siste element), break som kun forlater innerste switch/select i stedet for loopen, og defer inne i en loop som ikke utløses før funksjonen returnerer. Utløses ved skriving eller gjennomgang av Go-kode som itererer over slices/arrays/maps/kanaler, bruker break inne i switch/select nestet i en loop, eller plasserer defer inne i en loop-kropp.

Testrapport

Gjennomgikk en 3-feils Go-fil (range-pointer-felle, defer-in-loop-lekkasje, break-kun-utganger-switch) både med og uten ferdigheten: begge gjennomganger fanget alle 3 feilene, men den ferdighetsstyrte gjennomgangen navnga hver fallgruve etter sin kanoniske kategori og bekreftet eksplisitt fraværet av de andre to regelkategoriene (range-copy-mutasjon, kart-iterasjonsfarer) — en sjekklistestil fullstendighetsgaranti den frie baselinjen ikke tilbød.

Testet på: 2026-07-16 · Claude Code 2.x (agent harness)

Installer

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

Kommandoer og eksempelprompter

  • /go-control-structuresFanger Go's klassiske range/break/defer-in-loop fallgruver under kodegjennomgang.

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

  • Review this Go code for range-variable capture and defer-in-loop bugs
  • Does this break statement actually exit the loop or just the switch?
  • Check my Go function for classic loop and defer footguns before I ship