Go语言channel的基本使用

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)

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值