4
这里的“走出去”的关键字是“围棋之旅” Range and Close代码示例:围棋
package main
import (
"fmt"
)
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)
}
}
在从底部时省略了go
关键字第五行,结果却事与愿违更改。这是否意味着主要的参与者在缓冲的渠道中发送了价值信息,然后将它们带出?
好,更技术性的解释可能提的是'go'关键字居然在一个单独的线程启动的方法:) – favoretti
它可以在单独的线程中启动一个方法。或者它可以在同一个线程中完成,但是在主要goroutine和新衍生的斐波那契goroutine之间切换。这是一个小问题,但只是想确保它不会与实际的OS级别线程混淆。 –