美文网首页
golang 协程+channel+select 实现最简单的斐

golang 协程+channel+select 实现最简单的斐

作者: 我爱张智容 | 来源:发表于2021-02-11 11:42 被阅读0次

    main.go 代码如下:

    package main
    
    import "fmt"
    
    func feobonaqi(c, quit chan int) {
    
        x, y := 1, 1
    
        for {
            select {
            case c <- x:
                x = y
                y = x + y
    
            case <-quit:
                fmt.Println("listen quit")
                return
            }
        }
    
    }
    
    func main() {
        c := make(chan int)
        quit := make(chan int)
    
        go func() {
            for i := 0; i < 20; i++ {
                fmt.Println(<-c)
            }
    
            quit <- 0
        }()
    
        feobonaqi(c, quit)
    
        fmt.Println("main process exit")
    }
    
    

    相关文章

      网友评论

          本文标题:golang 协程+channel+select 实现最简单的斐

          本文链接:https://www.haomeiwen.com/subject/attkxltx.html