Go语言自学系列 | golang标准库io包

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言自学系列 | golang标准库io包相关的知识,希望对你有一定的参考价值。

视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客_go语言自学


Go语言中,为了方便开发者使用,将IO操作封装在了如下几个包中:

  • io为IO原语(I/O primitives)提供基本的接口
  • io/ioutil封装一些实用的I/O函数
  • fmt实现格式化I/O,类似C语言中的printf和scanf
  • bufio实现带缓冲I/O

Io - 基本的IO接口

在io包中最重要的是两个接口:Reader和Writer接口。本章所提到的各种IO包,都跟这两个接口有关,也就是说,只要实现了这两个接口,它就有了IO的功能

Reader接口

type Reader interface 
    Read(p []byte) (n int, err error)

Writer接口

type Writer interface 
    Write(p []byte) (n int, err error)

那些类型实现了Reader和Writer接口

os.File 同时实现了 io.Reader 和 io.Writer
strings.Reader 实现了 io.Reader
bufio.Reader/Writer 分别实现了 io.Reader 和 io.Writer
bytes.Buffer 同时实现了 io.Reader 和 io.Writer
bytes.Reader 实现了 io.Reader
compress/gzip.Reeader/Writer 分别实现了 io.Reader 和 io.Writer
crypto/cipher.StreamReader/StreamWriter 分别实现了 io.Reader 和 io.Writer
crypto/tls.Conn 同时实现了 io.Reader 和 io.Writer
encoding/csv.Reader/Writer 分别实现了 io.Reader 和 io.Writer

实例

讲解官方实例演示

以上是关于Go语言自学系列 | golang标准库io包的主要内容,如果未能解决你的问题,请参考以下文章

Go语言自学系列 | golang标准库ioutil包

Go语言自学系列 | golang标准库bytes

Go语言自学系列 | golang标准库builtin

Go语言自学系列 | golang标准库errors

Go语言自学系列 | golang标准库bufio

Go语言自学系列 | golang标准库encoding/xml