main.go 387 B

1234567891011121314151617181920212223242526
  1. package main
  2. import "fmt"
  3. /*
  4. 第1项是 0(有时也从1开始,但标准定义从0开始)
  5. 第2项是 1
  6. 从第3项开始,每一项都是前两项之和
  7. */
  8. func fibonacci(n int, c chan int) {
  9. x, y := 0, 1
  10. for i := 0; i < n; i++ {
  11. c <- x
  12. x, y = y, x+y
  13. }
  14. close(c)
  15. }
  16. func main() {
  17. c := make(chan int, 10)
  18. go fibonacci(cap(c), c)
  19. for i := range c {
  20. fmt.Println(i)
  21. }
  22. }