mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-19 01:15:21 +00:00
39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
// Copyright 2011 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package csv
|
|
|
|
import (
|
|
"bufio"
|
|
"io"
|
|
)
|
|
|
|
// A Writer writes records using CSV encoding.
|
|
//
|
|
// As returned by NewWriter, a Writer writes records terminated by a
|
|
// newline and uses ',' as the field delimiter. The exported fields can be
|
|
// changed to customize the details before the first call to Write or WriteAll.
|
|
//
|
|
// Comma is the field delimiter.
|
|
//
|
|
// If UseCRLF is true, the Writer ends each output line with \r\n instead of \n.
|
|
//
|
|
// The writes of individual records are buffered.
|
|
// After all data has been written, the client should call the
|
|
// Flush method to guarantee all data has been forwarded to
|
|
// the underlying io.Writer. Any errors that occurred should
|
|
// be checked by calling the Error method.
|
|
type Writer struct {
|
|
Comma rune // Field delimiter (set to ',' by NewWriter)
|
|
UseCRLF bool // True to use \r\n as the line terminator
|
|
w *bufio.Writer
|
|
}
|
|
|
|
// NewWriter returns a new Writer that writes to w.
|
|
func NewWriter(w io.Writer) *Writer {
|
|
return &Writer{
|
|
Comma: ',',
|
|
w: bufio.NewWriter(w),
|
|
}
|
|
}
|