# panic: runtime error: invalid memory address or nil pointer dereference (channel receive)

- **ID:** `go/channel-nil-receive`
- **Domain:** go
- **Category:** runtime_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

尝试从nil通道接收数据，导致panic。

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.19 | active | — | — |

## Workarounds

1. **** (95% success)
   ```
   ch := make(chan int); go func(){ v := <-ch; /* ... */ }()
   ```
2. **** (80% success)
   ```
   select { case v := <-ch: default: /* 处理 */ }
   ```

## Dead Ends

- **** — 如果检查不彻底，可能仍有nil通道被使用。 (50% fail)
- **** — 如果通道是nil，接收操作会永久阻塞，不是立即panic。 (80% fail)
