代码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. 【django轻量级框架】View与Model交互(模块的交互关系)
  2. 自己动手实现一个简单的JSON解析器
  3. 机房收费--修改密码
  4. 使用Action,Data属性启动系统Activity
  5. 为IP v6划分子网
  6. java 换行 运算符格式_Java代码样式运算符换行格式
  7. 【转】VNC不同软件之间的联系与区别
  8. 《Windows Mobile平台应用与开发》写作工作顺利进行中
  9. 一次没想好,第二次就要想到做好
  10. 【安装记录】安装 pyzmq ==19.0.2 报错记录
  11. 关于抓包软件Fiddler的简单汉化
  12. snmp - 简单网络管理协议
  13. postgis 栅格数据_postGIS教程
  14. Android 手机修改 WiFi MAC 地址
  15. 图解数字签名-数字证书-公钥加密-私钥签名原理
  16. Unity射线检测整理
  17. 诡异事件之自定义UINavigationController
  18. 用Python下载学习通课程首页的资料
  19. 【JavaSE】十二生肖带你走进枚举类
  20. python 爬虫:爬取91job竞赛题库

热门文章

  1. ibatis中多表联接查询
  2. MyBatis延迟加载及在spring中集成配置
  3. 1.进程间的关系:终端,网络设备
  4. 文件加解密,文件操作
  5. Linux下crontab(自动重启)的格式备忘
  6. Apache Ranger源码编译及使用
  7. 在div中显示html_HTML基础知识之DIV
  8. fatal error: hdf5.h: No such file or directory
  9. 算法: 把字字符串转化为整数;
  10. Solidworks公司电脑图纸被加密之后如何解密输出