Go语言中的channel是一种用于在不同goroutine之间进行通信的机制。可以通过make函数来创建一个channel,如下所示:

ch := make(chan int)

在这个例子中,我们创建了一个名为ch的channel,其中传输的数据类型为int。在使用channel时,我们可以使用<-符号来向channel中发送或接收数据,如下所示:

ch <- 10 // 向ch中发送数据10
x := <- ch // 从ch中接收数据,并将其赋值给变量x

在这个例子中,我们向ch中发送了一个整数10,并从ch中接收了一个整数,并将其赋值给变量x。需要注意的是,在接收数据时,如果没有数据可用,goroutine会被阻塞,直到有数据可用为止。

另外,channel还支持使用close函数来关闭channel,如下所示:

close(ch)

在这个例子中,我们关闭了channel ch。需要注意的是,一旦channel被关闭,就不能再向其中发送数据,但仍然可以从其中接收数据,直到channel中的所有数据都被接收完为止。

go的channal

原文地址: https://www.cveoy.top/t/topic/b9Dw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录