-
channel是go语言的一等公民,它跟函数一样可以作为参数来使用
查看全部 -
Go语言是函数是编程语言,函数也可以作为一等公民,作为参数传递给另外一个函数
查看全部 -
Go语言底层还是有锁,有Callback的,但是我们在写语言的时候就不需要关注这些东西
Go语言的并发编程模型包含了两大部分,一个是并行计算一个是分布式
并行计算比较简单,有一个很明确的计算任务,我们把计算任务分布到各个节点上去做,做完了以后再去合并一下就出来了最终的一个结果。
分布式比较复杂,他没有具体的这样一个流程,有很多人互相等来等去,很多人互相传递消息,GO语言是为并发编程设计的,它能做非常复杂的并发编程系统,能够很容易的去做到分布式
这节课会搭建一个并行计算的pipeline
并行计算最简单的任务就是外部排序,内存中放不下,外部中分别处理,再归并
查看全部 -
Go语言,编译时类型检查
运行环境:编译成机器代码直接运行
编程范式:面向接口,函数式编程,并发编程
Go语言不是面向对象是面向接口
查看全部 -
range
range关键字是Go语言中一个非常有用的迭代array,slice,map, string, channel中元素的内置关键字
查看全部 -
Google内部标准编程语言
查看全部 -
Go语言的历史
查看全部 -
go tool tour确实是我上手go的第一步
A tour of go,交互式教程
查看全部 -
fmt.Fprintln(writer, "hello world")
查看全部 -
fmt.Sprintf
查看全部 -
把很大的数据源进行切分,切成多少份,每一份再排序,每一份放入一个节点(单台机器上可以装下这部分数据)。不用把很大的数组同时放在内存里。各个节点排完之后到归并节点,(k路归并),归并节点存储的是k个节点的最小的元素(是用堆的数据结构进行排序)
- 分别做归并排序,就是递归
查看全部 -
标准编程语言
查看全部 -
外部排序pipeline
查看全部 -
更多节点,使用bufferio这个库包装一下加快运行速度
查看全部 -
一些节点1
查看全部
举报