go io.Reader 接口


io 包指定了 io.Reader 接口, 它表示從數據流結尾讀取。

Go 標准庫包含了這個接口的許多實現, 包括文件、網絡連接、壓縮、加密等等。

io.Reader 接口有一個 Read 方法:

func (T) Read(b []byte) (n int, err error)

Read 用數據填充指定的字節 slice,並且返回填充的字節數和錯誤信息。 在遇到數據流結尾時,返回 io.EOF 錯誤。

例子代碼創建了一個 strings.Reader。 並且以每次 8 字節的速度讀取它的輸出。

 

package main

import (
"fmt"
"io"
"strings"
)

func main() {
r := strings.NewReader("Hello, Reader!")

b := make([]byte, 8)
for {
n, err := r.Read(b)
fmt.Printf("n = %v err = %v b = %v\n", n, err, b)
fmt.Printf("b[:n] = %q\n", b[:n])
if err == io.EOF {
break
}
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM