Canonical guidance

Use when

Avoid

Preferred pattern

sem := make(chan struct{}, 8)
sem <- struct{}{}

Anti-pattern

Explanation: This anti-pattern is tempting because blocking feels scary, but unexplained buffering often hides a design bug instead of fixing it.

Why

Related pages

Sources