diff options
Diffstat (limited to 'src/encoding/csv')
| -rw-r--r-- | src/encoding/csv/writer.go | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/encoding/csv/writer.go b/src/encoding/csv/writer.go index a6056285b4..e8739fb554 100644 --- a/src/encoding/csv/writer.go +++ b/src/encoding/csv/writer.go @@ -37,27 +37,28 @@ func NewWriter(w io.Writer) *Writer { // Writer writes a single CSV record to w along with any necessary quoting. // A record is a slice of strings with each string being one field. -func (w *Writer) Write(record []string) (err error) { +func (w *Writer) Write(record []string) error { for n, field := range record { if n > 0 { - if _, err = w.w.WriteRune(w.Comma); err != nil { - return + if _, err := w.w.WriteRune(w.Comma); err != nil { + return err } } // If we don't have to have a quoted field then just // write out the field and continue to the next field. if !w.fieldNeedsQuotes(field) { - if _, err = w.w.WriteString(field); err != nil { - return + if _, err := w.w.WriteString(field); err != nil { + return err } continue } - if err = w.w.WriteByte('"'); err != nil { - return + if err := w.w.WriteByte('"'); err != nil { + return err } for _, r1 := range field { + var err error switch r1 { case '"': _, err = w.w.WriteString(`""`) @@ -75,20 +76,21 @@ func (w *Writer) Write(record []string) (err error) { _, err = w.w.WriteRune(r1) } if err != nil { - return + return err } } - if err = w.w.WriteByte('"'); err != nil { - return + if err := w.w.WriteByte('"'); err != nil { + return err } } + var err error if w.UseCRLF { _, err = w.w.WriteString("\r\n") } else { err = w.w.WriteByte('\n') } - return + return err } // Flush writes any buffered data to the underlying io.Writer. @@ -104,9 +106,9 @@ func (w *Writer) Error() error { } // WriteAll writes multiple CSV records to w using Write and then calls Flush. -func (w *Writer) WriteAll(records [][]string) (err error) { +func (w *Writer) WriteAll(records [][]string) error { for _, record := range records { - err = w.Write(record) + err := w.Write(record) if err != nil { return err } |
