package main import "fmt" /* 第1项是 0(有时也从1开始,但标准定义从0开始) 第2项是 1 从第3项开始,每一项都是前两项之和 */ func fibonacci(n int, c chan int) { x, y := 0, 1 for i := 0; i < n; i++ { c <- x x, y = y, x+y } close(c) } func main() { c := make(chan int, 10) go fibonacci(cap(c), c) for i := range c { fmt.Println(i) } }