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