100-go-mistakes/4-control-structures/34-break/main.go
2021-12-27 15:56:17 +01:00

54 lines
591 B
Go

package main
import (
"context"
"fmt"
)
func listing1() {
for i := 0; i < 5; i++ {
fmt.Printf("%d ", i)
switch i {
default:
case 2:
break
}
}
}
func listing2() {
loop:
for i := 0; i < 5; i++ {
fmt.Printf("%d ", i)
switch i {
default:
case 2:
break loop
}
}
}
func listing3(ctx context.Context, ch <-chan int) {
for {
select {
case <-ch:
// Do something
case <-ctx.Done():
break
}
}
}
func listing4(ctx context.Context, ch <-chan int) {
loop:
for {
select {
case <-ch:
// Do something
case <-ctx.Done():
break loop
}
}
}