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
7 回答5.4k 阅读
6 回答7k 阅读✓ 已解决
4 回答2.4k 阅读
1 回答3.4k 阅读
2 回答961 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
因为你遍历里还在不断读啊……
本来遍历时游标(姑且称之为游标)就已经是每次前进 1 了,然后遍历里你还去读了一次、又前进 1 了。
如果你只是想单纯地遍历并打印每个之前写入的值,那么把最后那段遍历改成:
就好了。