GO语言"io"包中"ReadFull"函数的用法及代码示例。
用法:
func ReadFull(r Reader, buf []byte)(n int, err error)
ReadFull 将 r 中的 len(buf) 个字节准确地读取到 buf 中。它返回复制的字节数,如果读取的字节数较少,则返回错误。仅当未读取任何字节时,该错误才是 EOF。如果在读取部分但不是全部字节后发生 EOF,则 ReadFull 返回 ErrUnexpectedEOF 在返回时,n == len(buf) 当且仅当 err == nil 时。如果 r 返回至少读取 len(buf) 个字节的错误,则删除该错误。
例子:
package main
import (
"fmt"
"io"
"log"
"strings"
)
func main() {
r := strings.NewReader("some io.Reader stream to be read\n")
buf := make([]byte, 4)
if _, err := io.ReadFull(r, buf); err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", buf)
// minimal read size bigger than io.Reader stream
longBuf := make([]byte, 64)
if _, err := io.ReadFull(r, longBuf); err != nil {
fmt.Println("error:", err)
}
}
输出:
some error: unexpected EOF
相关用法
- GO ReadFile用法及代码示例
- GO ReadMessage用法及代码示例
- GO Read用法及代码示例
- GO Reader.Multistream用法及代码示例
- GO ReadAtLeast用法及代码示例
- GO Reader.Len用法及代码示例
- GO Reader用法及代码示例
- GO ReadDir用法及代码示例
- GO Reader.ReadAll用法及代码示例
- GO ReadAll用法及代码示例
- GO Regexp.FindString用法及代码示例
- GO Regexp.FindAllIndex用法及代码示例
- GO ResponseRecorder用法及代码示例
- GO ReverseBytes64用法及代码示例
- GO ReverseBytes16用法及代码示例
- GO Regexp.ReplaceAllLiteralString用法及代码示例
- GO Regexp.FindStringSubmatch用法及代码示例
- GO Regexp.FindAllString用法及代码示例
- GO Regexp.ExpandString用法及代码示例
- GO ResponseWriter用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 ReadFull。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。