代码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相关推荐

  1. python变量无需创建赋值_Python 第 2 章 变量及赋值运算符

    Python 第 2 章 变量及赋值运算符 计算机语言历史演变 机器语言-汇编语言-高级语言 Python属于高级语言, 因为计算机运行的机器语言也就是二进制010101的编码, 所以我要让计算机知道 ...

  2. python变量无需创建赋值_阿博的Python之路-变量

    之前阿博分享了Python的运算符,在它的后面开始学习变量相关的知识.在这里要给小伙伴们分享Python的变量. 注意:小编的编码环境是Python 3. 什么是变量 Python变量是记录事物变化状 ...

  3. Teams 如何创建一个 Channel

    选择 Teams ,然后在出现 Teams 的后面单击 3 个点好. 在弹出的对话框中选择 Add Channel 就可以了. 然后选择需要的私有协议. 同时还需要输入 Channel 的名字和描述. ...

  4. Go三种方式创建赋值map

    var与冒号相等,有了var就不用有冒号,有冒号就不用有var: package mainimport ("fmt" )func main(){// 方式一 :原生普通方式var ...

  5. Golang并发——并发技术Goroutine和channel的使用、定时器、生产者消费者、条件变量、select

    Goroutine: goroutine是Go并行设计的核心.goroutine说到底其实就是协程,它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些gor ...

  6. 聊一聊Go中channel的行为

    女主宣言 提到Go语言,最为亮点的特性,也就是goroutine的协程了.协程中我们用的最多的无非是channel,小编最近也在研究Go语言的一些特性.但是对于channel理解不是很深,所以特地整理 ...

  7. Go channel 通道

    go routine 可以使用 channel 来进行通信,使用通信的手段来共享内存.下面是一个 channel 使用的小例子. Go channel实现顺序无限输出123123123..._Schu ...

  8. 深度剖析channel

    深度剖析channel golang     2015-10-29 21:16:25     5740     0     5 channel的用法 channel是golang中很重要的概念,配合g ...

  9. Kotlin Channel系列(一)之读懂Channel每一行源码

    文章目录 有话说 概述 初识Channel Channel种类 Channel五大金刚 Send Receive Closed Queue Buffer Channel的行为 Channel源码分析 ...

最新文章

  1. 程序员编程如何入门、进阶?
  2. POSTGRESQL小玩
  3. Acwing第 37 场周赛【完结】
  4. 如何在Flutter(2021)中创建过滤器搜索列表视图
  5. linux tcb,在Linux中从潜藏密码迁移至tcb怎么做?
  6. Android集成一个新产品时,lunch的product name和device name注意事项
  7. [CS] 发起Conference Call
  8. vb html编程,VB编程:vb打开网页代码
  9. 超市管理系统软件测试用例图,《天天超市管理系统》所有模块测试用例集.doc...
  10. 美通企业日报 | 中国最佳表现城市榜成都再登榜首;迪丽热巴代言澳洲品牌Swisse...
  11. Tableau插入自定义图片
  12. java BMI体重测量代码
  13. 关于pack_padded_sequence 和 pad_packed_sequence最清楚的解释
  14. macOS下快速复制文件或文件夹路径
  15. 51单片机c语言编程函数,单片机C语言教程:C51函数
  16. 32位操作系统升级为64位步奏
  17. 路何去何从-第三方Oracle服务商
  18. WARNING: [Labtools 27-3413] vivado报错调试界面无信号无波形解决方法
  19. layer - 简单好用的Web弹出层组件使用详解1(安装配置、消息提示框)
  20. java8 Arrays.sort 与Arrays.parallelSort

热门文章

  1. Linux_Oracle命令大全
  2. 解决因删除外键引用的时候导致相应字段被删除了的问题
  3. 一个base.css
  4. python连接各种数据库数据_Python连接各种数据库
  5. 基于感知机的手写体识别
  6. Improving RGB-D SLAM in dynamic environments: A motion removal approach
  7. dotnetcore Http服务器研究(一)
  8. 百度地图api 去左下角百度地图logo的方法
  9. React Native 模仿网易云音乐手机客户端,兼容安卓和IOS两个平台
  10. mysql 高可用方案漫谈(二)