A "break" statement terminates execution of the innermost "for", "switch", or "select" statement within the same function.
package main
import (
"fmt"
"time"
)
func main() {
done := time.After(1 * time.Millisecond)
numbers := make(chan int)
go func() {
for n := 0; ; {
numbers <- n
n++
}
}()
for {
select {
case <-done:
break
case num := <-numbers:
fmt.Println(num)
}
}
}