func fabonacci(ch chan int64, done chan struct{}) {
    var x int64 = 0
    var y int64 = 1
    for {
        select {
        case ch <- x:
            x, y = y, x+y
        case <-done:
            fmt.Println("done")
            return
        }
    }
}
func TestFabonacci(tt *testing.T) {
    ch := make(chan int64)
    done := make(chan struct{})
    go func() {
        for i := 0; i < 50; i++ {
            fmt.Println(<-ch)
        }
        done <- struct{}{}
    }()
    fabonacci(ch, done)

}

发表回复

您的电子邮箱地址不会被公开。

Captcha Code