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