- channel的使用
//1. 发送value到channelchannel <- value
//2. 接收并将其丢弃<- channel
//3. 从channel中接收数据,并将其赋值给x
x := <- channel
- 例子
package mainimport "fmt"func main() {//定义一个channelc := make(chan int)go func() {defer fmt.Println("goroutine结束")fmt.Println("goroutine 正在运行...")c <- 777 //将666 发送给c}()num := <- c //从c中接受数据,并赋值给numfmt.Println("num = ",num)fmt.Println("main gotoutine 结束...")
}
- 缓冲类型
这是一个无缓冲的channel,什么是无缓冲的chanel,如下图所示: