golang标准库--io
Posted djanfey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang标准库--io相关的知识,希望对你有一定的参考价值。
一、type Reader interface {
Read(p []byte)(n int, err error)
}
Reader是一个包含Read方法的接口
Read方法读取len(p)个字节到p中。它返回读取到的字节数和遇到的错误。即使Read返回n<len(p),在调用过程中也会使用所有p作为暂存空间。如果一些可读取的数据没有len(p),按照惯例Read会返回读取到的数据,而不是等待更多。
当Read成功读取n>0个字节后遇到一个错误或者end-of-file条件,它会返回读取到的字节数。它会从同样的调用中返回非空error或者从下次调用中返回错误并且n==0。这个通用案例的一个实例是:一个Reader在输入流的结尾返回非零字节数将会返回err==EOF或者err==nil。接下来的Read将会返回0,EOF。
调用者总是应该在考虑错误之前先处理返回的n>0的字节,这样做能正确地处理发生在读取一些字节后和允许EOF行为这两者的I/O错误
这个接口的Read实现不应该返回0字节和nil错误,除非len(p)==0。调用者应该视这种情况为什么都没有发生,特别注意这不代表读取结束。
Read的实现一定不能返回p
二、
以上是关于golang标准库--io的主要内容,如果未能解决你的问题,请参考以下文章