1. package main
    2. import "fmt"
    3. func fibonacii(c,quit chan int) {
    4. x,y :=1,1
    5. for {
    6. select {
    7. //如果c可写,则case就会进来
    8. case c <- x:
    9. t := x
    10. x = y
    11. y = t + y
    12. case <-quit:
    13. fmt.Println("quit")
    14. return
    15. }
    16. }
    17. }
    18. func main() {
    19. c:=make(chan int)
    20. quit := make(chan int)
    21. go func() {
    22. for i := 0; i < 6; i++ {
    23. fmt.Println(<-c)
    24. }
    25. quit <- 0
    26. }()
    27. fibonacii(c,quit)
    28. }