一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:
Go语言中,为了方便开发者使用,将 Io 操作封装在了如下几个包中:
- io为IO原语(I/O primitives)提供基本的接口
- io/ io util封装一些实用的I/O函数
- fmt实现格式化I/O,类似 C语言 中的 printf 和 scanf
- bufio实现带缓冲I/O
在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
实例
讲解官方实例演示