Golang io.ReadAtLeast() 函数及其示例
在 Go 语言中,io 包提供了基本的 I/O 原语接口,其主要工作是封装这些原语的正在执行的实现。Go 语言中的 ReadAtLeast() 函数用于从指定的读取器“r”中读取数据,以至少读取指定的最小字节数到指定的缓冲区“buf”中。此外,该函数是在 io 包下定义的。在这里,您需要导入“io”包以便使用这些函数。
语法:
在这里,“r”是指定的读取器,“buf”是指定的缓冲区,“min”是读取器读入给定的缓冲区中的最小字节数。
返回值: 它返回指定的缓冲区复制的字节数,并在读取的字节数小于最小字节数时返回错误。在这里,当且仅当错误为 nil 时,“n”返回值将大于“min”字节。但是,如果没有读取任何字节,则返回的错误为“EOF”。
注意: 如果在读取的字节数少于指定的“min”字节数后发生 EOF,则该方法返回 ErrUnexpectedEOF 错误。但是,如果指定的最小字节数大于指定的缓冲区长度,则此方法将返回 ErrShortBuffer 错误。但是,如果指定的读取器在至少读取指定的最小字节数后返回错误,则拒绝该错误。
示例1:
输出:
在这里,返回的‘n’是5,大于“min”的3,因为没有错误。
示例2:
输出:
在这里,上面代码中指定的缓冲区的长度小于指定的“min”字节数,所以会产生一个错误。