Go创建赋值channel
代码1
package mainimport ("fmt""time"
)// 对于channel的赋值 对于channel赋赋值必须通过goroutine
// 如果不是goroutine的话 那么channel就没有存在的意义了
// channel存在的意义就是给routine进行通信
func write(a int,ch chan int){ch<-a;
}func main(){// 方法一:channel的创建赋值// var ch chan int;// ch = make(chan int);// 方法二:短写法// ch:=make(chan int);// 方法三:综合写法:全局写法!!!!var ch = make(chan int);go write(2,ch);time.Sleep(10);c:=<-ch;fmt.Printf("%v\n",c);
}
代码2
package mainimport "fmt"func main() {messages := make(chan string)// channel与goroutine必须并存// 如果只有channel,根本无法运行,因为全部死锁了// 如果只有goroutine,协程根本不会执行,因为没时间,主程序已经结束了// 因为有了堵塞,协程才会执行go func(){fmt.Println("2")messages<-"aaaa"}()// channel等待写入数据,此处堵塞// 协程写入数据后,会继续执行fmt.Println("1");msg:=<-messagesfmt.Println("3")fmt.Println(msg)
}// ping
Go创建赋值channel相关推荐
- python变量无需创建赋值_Python 第 2 章 变量及赋值运算符
Python 第 2 章 变量及赋值运算符 计算机语言历史演变 机器语言-汇编语言-高级语言 Python属于高级语言, 因为计算机运行的机器语言也就是二进制010101的编码, 所以我要让计算机知道 ...
- python变量无需创建赋值_阿博的Python之路-变量
之前阿博分享了Python的运算符,在它的后面开始学习变量相关的知识.在这里要给小伙伴们分享Python的变量. 注意:小编的编码环境是Python 3. 什么是变量 Python变量是记录事物变化状 ...
- Teams 如何创建一个 Channel
选择 Teams ,然后在出现 Teams 的后面单击 3 个点好. 在弹出的对话框中选择 Add Channel 就可以了. 然后选择需要的私有协议. 同时还需要输入 Channel 的名字和描述. ...
- Go三种方式创建赋值map
var与冒号相等,有了var就不用有冒号,有冒号就不用有var: package mainimport ("fmt" )func main(){// 方式一 :原生普通方式var ...
- Golang并发——并发技术Goroutine和channel的使用、定时器、生产者消费者、条件变量、select
Goroutine: goroutine是Go并行设计的核心.goroutine说到底其实就是协程,它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些gor ...
- 聊一聊Go中channel的行为
女主宣言 提到Go语言,最为亮点的特性,也就是goroutine的协程了.协程中我们用的最多的无非是channel,小编最近也在研究Go语言的一些特性.但是对于channel理解不是很深,所以特地整理 ...
- Go channel 通道
go routine 可以使用 channel 来进行通信,使用通信的手段来共享内存.下面是一个 channel 使用的小例子. Go channel实现顺序无限输出123123123..._Schu ...
- 深度剖析channel
深度剖析channel golang 2015-10-29 21:16:25 5740 0 5 channel的用法 channel是golang中很重要的概念,配合g ...
- Kotlin Channel系列(一)之读懂Channel每一行源码
文章目录 有话说 概述 初识Channel Channel种类 Channel五大金刚 Send Receive Closed Queue Buffer Channel的行为 Channel源码分析 ...
最新文章
- 程序员编程如何入门、进阶?
- POSTGRESQL小玩
- Acwing第 37 场周赛【完结】
- 如何在Flutter(2021)中创建过滤器搜索列表视图
- linux tcb,在Linux中从潜藏密码迁移至tcb怎么做?
- Android集成一个新产品时,lunch的product name和device name注意事项
- [CS] 发起Conference Call
- vb html编程,VB编程:vb打开网页代码
- 超市管理系统软件测试用例图,《天天超市管理系统》所有模块测试用例集.doc...
- 美通企业日报 | 中国最佳表现城市榜成都再登榜首;迪丽热巴代言澳洲品牌Swisse...
- Tableau插入自定义图片
- java BMI体重测量代码
- 关于pack_padded_sequence 和 pad_packed_sequence最清楚的解释
- macOS下快速复制文件或文件夹路径
- 51单片机c语言编程函数,单片机C语言教程:C51函数
- 32位操作系统升级为64位步奏
- 路何去何从-第三方Oracle服务商
- WARNING: [Labtools 27-3413] vivado报错调试界面无信号无波形解决方法
- layer - 简单好用的Web弹出层组件使用详解1(安装配置、消息提示框)
- java8 Arrays.sort 与Arrays.parallelSort