当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。