go chan 实现斐波那契数列
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)
}
    small_lei_it  技术无止境,追求更高。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号