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


GO Writer用法及代碼示例

GO語言"encoding/csv"包中"Writer"類型的用法及代碼示例。

Writer 使用 CSV 編碼寫入記錄。

正如 NewWriter 返回的那樣,Writer 寫入由換行符終止的記錄,並使用 ',' 作為字段分隔符。在第一次調用 Write 或WriteAll 之前,可以更改導出的字段以自定義詳細信息

逗號是字段分隔符。

如果 UseCRLF 為真,則 Writer 以 \r\n 而不是 \n 結束每個輸出行。

單個記錄的寫入被緩衝。所有數據寫入完成後,客戶端應該調用 Flush 方法來保證所有數據都已經轉發到底層的 io.Writer。應通過調用 Error 方法檢查發生的任何錯誤。

用法:

type Writer struct {
    Comma   rune // Field delimiter(set to ',' by NewWriter)
    UseCRLF bool // True to use \r\n as the line terminator
    // contains filtered or unexported fields
}

例子:

package main

import (
	"encoding/csv"
	"log"
	"os"
)

func main() {
	records := [][]string{
		{"first_name", "last_name", "username"},
		{"Rob", "Pike", "rob"},
		{"Ken", "Thompson", "ken"},
		{"Robert", "Griesemer", "gri"},
	}

	w := csv.NewWriter(os.Stdout)

	for _, record := range records {
		if err := w.Write(record); err != nil {
			log.Fatalln("error writing record to csv:", err)
		}
	}

	// Write any buffered data to the underlying writer (standard output).
	w.Flush()

	if err := w.Error(); err != nil {
		log.Fatal(err)
	}
}

輸出:

first_name,last_name,username
Rob,Pike,rob
Ken,Thompson,ken
Robert,Griesemer,gri

相關用法


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