为了账号安全,请及时绑定邮箱和手机立即绑定

搭建并行处理管道,感受GO语言魅力

难度中级
时长 2小时17分
学习人数
综合评分9.67
51人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.6 逻辑清晰
我还要多听几遍,感觉一遍不能完全理解

最新回答 / 痕六
    可以将`pipelient.ReadSource`的参数改成`io.ReadCloser`, 然后在文件数据读完的地方close就行
感觉自己变成了傻子哈哈哈

最新回答 / 慕莱坞5242466
你的函数没有调用,所以没出现效果cnhfjhrbaatdoiwsqnbxcssmuqqc
后面跟不上了
受益良多。。。
学到了很多东西

最新回答 / qq_吴君强_03149203
不会,channl都是在等待接收。如果in1延时,可以会引像归并的结果。
老师讲的非常不错。我代码照着敲了一遍,放在了https://gitee.com/csu-bobo/externalMergeSort。

最新回答 / 创客001
Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序
老师的课,得品,得细品

最赞回答 / gypsy_gyq
1、channel 是分缓冲通道和非缓冲通道的,在 make channel 的时候,如果没有指定通道容量,那么这就是一个非缓冲通道。非缓冲通道的特点是,必须发送和接收同时进行,否则就会等待;而缓冲通道不需要发送和接收同时进行,但是当通道满的时候,发送方也会阻塞,必须等到接收方从通道中拿走数据后才能继续发送。2、所以上面的代码没有指定容量,是一个非缓冲通道,那么必然是发送和接收同时进行的,也可以理解为 放一个 range 一个。
到这就听不懂了

最赞回答 / 慕仔3302377
只要一个类型,实现了一个接口的任意方法,都能隐式转换为该接口类型

可以看下具体的代码
// io.go 
// io.Writer 接口定义
type Writer interface {   
   Write(p []byte) (n int, err error)
}

// file.go
// File结构体write方法
func (f *File) Write(b []byte) (n int, err error) {
    // .......
}
课程须知
1、了解一门编程语言,对基本算法如排序有了解
老师告诉你能学到什么?
1、go语言的历史和设计初衷 2、go语言的安装与开发环境 3、简单的go语言程序 4、了解go语言并发编程 5、实现一个并行数据处理管道

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消