package main
import "fmt"
func main() {
ch := make(chan int, 10)
for i := 0; i < 10; i++ {
ch <- i
}
close(ch)
for range ch {
fmt.Println(<-ch)
}
}
结果是:
1 3 5 7 9
package main
import "fmt"
func main() {
ch := make(chan int, 10)
for i := 0; i < 10; i++ {
ch <- i
}
close(ch)
for range ch {
fmt.Println(<-ch)
}
}
结果是:
1 3 5 7 9
5 回答5.6k 阅读✓ 已解决
6 回答2.7k 阅读
2 回答3.2k 阅读✓ 已解决
1 回答5.3k 阅读✓ 已解决
2 回答3.1k 阅读✓ 已解决
1 回答5.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
因为你遍历里还在不断读啊……
本来遍历时游标(姑且称之为游标)就已经是每次前进 1 了,然后遍历里你还去读了一次、又前进 1 了。
如果你只是想单纯地遍历并打印每个之前写入的值,那么把最后那段遍历改成:
就好了。