go-expert
Go Expert — Gotchas & Decisions
Use Context7 for Go framework docs.
Key Decisions
decisions[4]{choice,use_when}:
Gin vs Echo vs Fiber,"Gin: most popular/stable. Echo: cleaner API. Fiber: highest perf (Express-like)"
Interface location,"Define in CONSUMER package not provider. Accept interfaces return structs"
Channel vs Mutex,"Channel for communication between goroutines. Mutex for protecting shared memory"
Table-driven vs subtests,"Table-driven for input variations. Subtests (t.Run) for distinct scenarios"
Gotchas
err != nilcheck EVERY error return — never ignore with_%wfor wrapping errors (unwrappable),%vfor formatting only (not unwrappable)- Goroutine leak: always ensure goroutines can exit (context cancellation, done channels)
deferevaluates args immediately but executes LIFO —defer f.Close()captures currentf- Range loop variable reuse (pre-Go 1.22):
for _, v := range items { go func() { use(v) }() }captures samev. Fixed in Go 1.22+ nilslice vs empty slice:var s []int(nil, marshals tonull) vss := []int{}(empty, marshals to[])context.Background()for top-level,context.TODO()as placeholder. Always pass context as first param- Race conditions: use
-raceflag in tests.go test -race ./... sync.WaitGroup:Add()before goroutine launch, not inside it
More from nguyenthienthanh/aura-frog
stitch-design
Generate UI designs using Google Stitch AI with optimized prompts
36angular-expert
Angular 17+ gotchas and decision criteria. Covers signals vs observables, standalone patterns, and common pitfalls Claude gets wrong.
31flutter-expert
Flutter/Dart mobile expert. PROACTIVELY use when working with Flutter, Dart, mobile apps. Triggers: flutter, dart, widget, bloc, riverpod
16seo-expert
SEO and search engine optimization expert. PROACTIVELY use when working with meta tags, structured data, Core Web Vitals, sitemap, robots.txt, canonical URLs. Triggers: SEO, meta tags, schema markup, search ranking
13dev-expert
Development patterns for React, Vue, Laravel, Next.js, React Native - state management, forms, API integration
13react-native-expert
React Native best practices expert. PROACTIVELY use when working with React Native, mobile apps, Expo. Triggers: react-native, expo, mobile, iOS, Android, NativeWind
13