golang-文件读写

Python033

golang-文件读写,第1张

文件分类:文本文件和二进制文件

文本文件可读性好,占用的数据空间大

二进制文件,可读性差,占用的数据空间小

文件存取方式:随机存取和顺序存放

随机存取:操作速度慢,对磁盘的消耗大

顺序存放:操作数据块,对磁盘的消耗小

初级方法

高级方法

在程序和文件之间,添加一个缓冲区,每次程序读取文件内容的时候,先去缓冲区查看,如果需要的内容,直接获取,如果没有再去文件中获取

由于缓冲是在内存当中的,和程序的交互返回速度会非常快,这样可以大大提高程序的性能和速度

缺点:有的数据是只在缓冲中存储的,如果在缓冲释放之前,没有将数据实例化落盘,会导致数据的丢失

按行操作文件对象

将之前的file方法封装起来,可以更加方便的使用

使用gzip.NewReader(文件句柄),来操作压缩文件

示例: file,err := os.OpenFile("main.go", os.O_WRONLY|os.O_WRONLY, 0666)

三个参数,

文件操作方法,需要注意不能冲突

操作完成后,当前目录出现一个text.txt 文件,内容是:hello world,test

这里可以可以考虑使用buffio来实现

比c++快,go用到了协程,而c++只能使用线程,协程切换几乎不占用或很少占用cpu资源,而线程切换却占用cpu资源较多,这就导致了在相同并发数的情况下,go语言开发的程序可以提高cpu的有效工作率,所以go语言做后端快发效率还是比较好的。