其他分享
首页 > 其他分享> > 包:bufio

包:bufio

作者:互联网

夜里睡不着,再写一篇
bufio主要包含的是带缓冲的IO操作,表面上看不难,但是源码研究下还是挺有意思的,我们来看看大佬是怎么写代码的,首先从Writer开始说

Writer

带缓冲的Writer图解

缓冲就像一个装水的瓶子,如果瓶子不满就可以一直往里面倒水。过程很生活化,我们可以看到这个倒水过程需要解决下面几个问题:
一、瓶子的容量是固定的,当前水位是不确定的,要随时准确记录
二、准备倒的水(C1)要和剩余的缓冲(C2)进行比较,根据比较结果进行后续操作

主要的原理就是上述两条,下面画个图直观看下

其中buf是一个[]byte,容量固定。n表示当前已缓存的容量,那么剩余容量 = len(buf) - n,公式比较简单

 

标签:容量,缓冲,Writer,瓶子,bufio,buf
来源: https://www.cnblogs.com/tinaluo/p/14553144.html