Go Channel Patterns
Implement safe, efficient communication between goroutines using Go channel patterns.
Usage
Describe your communication needs between goroutines and get the right channel pattern.
Examples
- "How do I implement a timeout with select and channels?"
- "Build a rate limiter using a ticker and channel"
- "What's the generator pattern in Go?"
Guidelines
- Always consider channel ownership: who creates, writes, and closes
- Show proper select statement usage with default cases
- Cover buffered vs unbuffered channel trade-offs
- Include done channel pattern for goroutine cancellation
- Warn about common channel deadlock scenarios