Golang: chan定义问题(7)
2024-10-08 18:40:03
通常都是定义读写双向的 chan,定义单向 chan 问题。
专栏的介绍可以参考 《GotchaGolang专栏》,代码可以看《宝库-Gotcha》。
通过 只写 chan 传递另一个只读的 chan,怎么写?
案例
平常一般是这么声明 chan 的:
1 |
package main import "fmt" func () { xChan := make(chan int) fmt.Println(len(xChan)); //0 |
要声明一个单向的 chan 可以使用这一的方式:大专栏 Golang: chan定义问题(7)p>
1 |
chan<- float64 // 只写 float64 类型变量 (write-only) |
传递 chan 变量怎么办?
1 |
chan<- chan int //传递双向 chan, 同 chan<- (chan int) |
总结
定义只读,只写的类型,看上去比较诡异,可以把 <-chan
,chan<-
看做类型即可,同 chan
一样。
Merlin 2018.3 chan 的定义问题
最新文章
- 如何去掉div滚动条
- RCP:解决Navigator快捷键不生效的问题
- 自定义安装php开发环境(1)--apache和php整合
- 在matlab和opencv中分别实现稀疏表示
- method chaining
- p2p項目”復活“之想
- 基于阿里云server搭建SVNserver
- 开始我的.NET的学习旅程
- android httpClient 支持HTTPS的访问方式
- 怎样编制excel序列目录
- selenium+python定位元素方法
- ef 增加或者更新的习惯思维
- Entity Framework框架 (一)
- Java HashSet和HashMap源码剖析
- POJ 1011 Sticks(dfs+剪枝)
- Qt——元对象和属性机制
- QString::arg()//用字符串变量参数依次替代字符串中最小数值
- C++函数及参数
- Markdown黑色背景代码高亮
- 【AS3 Coder】任务六:人物换装(纸娃娃)系统的制作