package main
import "fmt"
func main() {
var intChan chan int
// 1、创建一个可以存放3个int类型的管道
intChan = make(chan int, 3)
//2、看看intChan是什么
fmt.Printf("inChan 的值=%v\n intChan的地址为", intChan, &intChan)
//3向管道写入数据
intChan <- 10
num := 211
intChan <- num
intChan <- 50
// intChan <- 90 //注意当我们向管道中写数据时,不能超过其容量
//4看看管道的长度和容量
fmt.Printf("channel len= %v cap=%v \n", len(intChan), cap(intChan)) //2,3
//5、从管道中读取数据
var num2 int
num2 = <-intChan
fmt.Print("num2=", num2)
fmt.Printf("channel len= %v cap=%v \n", len(intChan), cap(intChan))
//6、在没有使用协程的情况下,如果我们的管道数据已经全部取出,再取就会报告 deadlock
num3 := <-intChan
// num4 := <-intChan
fmt.Printf("num3= ,num4=", num3)
}
Go语言channel的基本使用
最新推荐文章于 2024-11-01 14:07:21 发布