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
二、
相关推荐
  txj    2020-08-17  
   qingjiuquan    2020-07-18  
   kehanxin    2020-07-05  
   sdwylry    2020-07-04  
   lanmantech    2020-06-16  
   GoatSucker    2020-06-04  
   PlumRain    2020-06-02  
   RealJianyuan    2020-05-08  
   HongKongPython    2020-05-12  
   favouriter    2020-04-21  
   Accpcjg    2020-04-19  
   onetozero    2020-04-09  
   doubinning    2020-03-02  
   明天你好    2020-03-01  
   tangjianft    2020-02-15  
   坚持是一种品质    2020-01-30  
   CloudXli    2020-01-17