package main
import "fmt"
func main() {
ch := make(chan int)
q := make(chan int)
go func(ch, q chan int) {
for i := 0; i < 10; i++ {
num := <-ch
fmt.Println(num)
}
q <- 1
}(ch, q)
fibonacci := func(ch, q chan int) {
x, y := 0, 1
for {
select {
case ch <- x: // 写入
x, y = y, x+y
break // 你觉得是否会影响 for 语句的循环?
case <-q: // 读取
fmt.Println("quit")
return
}
}
}
fibonacci(ch, q)
}