當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


GO ReadFull用法及代碼示例

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

相關用法


注:本文由純淨天空篩選整理自golang.google.cn大神的英文原創作品 ReadFull。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。