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


GO CopyBuffer用法及代碼示例

GO語言"io"包中"CopyBuffer"函數的用法及代碼示例。

用法:

func CopyBuffer(dst Writer, src Reader, buf []byte)(written int64, err error)

CopyBuffer 與 Copy 相同,隻是它通過提供的緩衝區(如果需要)進行暫存,而不是分配臨時緩衝區。如果 buf 為 nil,則分配一個;否則,如果它的長度為零,CopyBuffer 會發生Panics。

如果 src 實現 WriterTo 或 dst 實現 ReaderFrom,則不會使用 buf 執行複製。

例子:

package main

import (
	"io"
	"log"
	"os"
	"strings"
)

func main() {
	r1 := strings.NewReader("first reader\n")
	r2 := strings.NewReader("second reader\n")
	buf := make([]byte, 8)

	// buf is used here...
	if _, err := io.CopyBuffer(os.Stdout, r1, buf); err != nil {
		log.Fatal(err)
	}

	// ... reused here also. No need to allocate an extra buffer.
	if _, err := io.CopyBuffer(os.Stdout, r2, buf); err != nil {
		log.Fatal(err)
	}

}

輸出:

first reader
second reader

相關用法


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