使用範圍
從通道讀取多個值時,使用 range
是一種常見模式:
func foo() chan int {
ch := make(chan int)
go func() {
ch <- 1
ch <- 2
ch <- 3
close(ch)
}()
return ch
}
func main() {
for n := range foo() {
fmt.Println(n)
}
fmt.Println("channel is now closed")
}
輸出
1
2
3
channel is now closed