[并发Goroutine&Channel]-第002节:并发性Concurrency
### 1.1 多任务 --- 怎么来理解多任务呢?其实就是指我们的操作系统可以同时执行多个任务。举个例子,你一边听音乐,一边刷微博,一边聊QQ,一边用Markdown写作业,这就是多任务,至少同时有4个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是界面上没有显示而已。  CPU的速度太快啦。。。  的并且 id 为奇数 的影片,结果请按等级 rating 排列。 例如,下表 cinema: ```sql +---------+-----------+--------------+-----------+ | id | movie | descript
作者:RainNight 2021-03-28 所属分类:[算法]
利用puppeteer采集自己想要的书籍
# 安装node --- ```bash cd /usr/local/src/ wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz tar zxvf node-v0.10.24.tar.gz cd node-v0.10.24 ./configure --prefix=/usr/local/node/0.10.24 make make install node -v ``` 方法,这个方法可以获取指定目录下的内容,返回文件和子目录。 因为文件夹下还有子文件夹,而ioutil包的ReadDir()只能获取一层目录,所以我们需要自己去设计算法来实现,最容易实现的思路就是使用递归。 示例代码: ``` package main import ( "io/ioutil" "fmt" "log" ) func main() { /** 遍历文件夹: */ dirname
作者:RainNight 2021-03-23 所属分类:[Golang]
[IO操作]-第007节:ioutil包
除了io包可以读写数据,Go语言中还提供了一个辅助的工具包就是ioutil,里面的方法虽然不多,但是都还蛮好用的。 ``` import "io/ioutil" ``` 该包的介绍只有一句话:Package ioutil implements some I/O utility functions。 ### 一、ioutil包的方法 --- 下面我们来看一下里面的方法: ``` // Discard 是一个 io.Writer 接口,调用它的 Write 方法将不做任何事情 // 并且始终成功返回
作者:RainNight 2021-03-23 所属分类:[Golang]
[IO操作]-第006节:bufio包
生命不止,继续Go go go。。 Go语言在io操作中,还提供了一个bufio的包,使用这个包可以大幅提高文件读写的效率。 ### 一、bufio包原理 --- bufio 是通过缓冲来提高效率。 io操作本身的效率并不低,低的是频繁的访问本地磁盘的文件。所以bufio就提供了缓冲区(分配一块内存),读和写都先在缓冲区中,最后再读写文件,来降低访问本地磁盘的次数,从而提高效率。 简单的说就是,把文件读取进缓冲(内存)之后再读取的时候就可以避免文件系统的io 从而提高速度。同理,在进行写操作时,
作者:RainNight 2021-03-23 所属分类:[Golang]
[IO操作]-第005节:断点续传
### 一、Seeker接口 --- Seeker是包装基本Seek方法的接口。 ``` type Seeker interface { Seek(offset int64, whence int) (int64, error) } ``` seek(offset,whence),设置指针光标的位置,随机读写文件: 第一个参数:偏移量 第二个参数:如何设置 0:seekStart表示相对于文件开始, 1:seekCurrent表示相对于当前偏移量, 2:seek end表示相
作者:RainNight 2021-03-23 所属分类:[Golang]