Skip to content

【1】管道的遍历: 管道支持for-range的方式进行遍历,请注意两个细节 1)在遍历时,如果管道没有关闭,则会出现deadlock的错误 2)在遍历时,如果管道已经关闭,则会正常遍历数据,遍历完后,就会退出遍历。

【2】案例:

go
package main

import(
        "fmt"
)

func main(){
        //定义管道 、 声明管道
        var intChan chan int
        //通过make初始化:管道可以存放3个int类型的数据
        intChan = make(chan int,100)
        for i := 0;i < 100;i++ {
                intChan<- i
        }
        //在遍历前,如果没有关闭管道,就会出现deadlock的错误
        //所以我们在遍历前要进行管道的关闭
        close(intChan)
        //遍历:for-range
        for v := range intChan {
                fmt.Println("value = ",v)
        }

}

Java · Golang · Rust