csv

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Codec

type Codec struct{}

Codec is a Codec[[][]string] backed by encoding/csv. It is safe for concurrent use.

Example
package main

import (
	"fmt"

	"github.com/foomo/goencode/csv"
)

func main() {
	c := csv.NewCodec()

	records := [][]string{
		{"name", "age"},
		{"Alice", "30"},
	}

	encoded, err := c.Encode(records)
	if err != nil {
		fmt.Printf("Encode failed: %v\n", err)
		return
	}

	fmt.Printf("Encoded: %s", string(encoded))

	var decoded [][]string
	if err := c.Decode(encoded, &decoded); err != nil {
		fmt.Printf("Decode failed: %v\n", err)
		return
	}

	fmt.Printf("Decoded: %v\n", decoded)
}
Output:
Encoded: name,age
Alice,30
Decoded: [[name age] [Alice 30]]

func NewCodec

func NewCodec() *Codec

NewCodec returns a CSV serializer.

func (Codec) Decode

func (Codec) Decode(b []byte, v *[][]string) error

func (Codec) Encode

func (Codec) Encode(v [][]string) ([]byte, error)

type StreamCodec

type StreamCodec struct{}

StreamCodec is a StreamCodec[[][]string] backed by encoding/csv. It is safe for concurrent use.

Example
package main

import (
	"bytes"
	"fmt"

	"github.com/foomo/goencode/csv"
)

func main() {
	c := csv.NewStreamCodec()

	records := [][]string{
		{"name", "age"},
		{"Alice", "30"},
	}

	var buf bytes.Buffer
	if err := c.Encode(&buf, records); err != nil {
		fmt.Printf("Encode failed: %v\n", err)
		return
	}

	var decoded [][]string
	if err := c.Decode(&buf, &decoded); err != nil {
		fmt.Printf("Decode failed: %v\n", err)
		return
	}

	fmt.Printf("Decoded: %v\n", decoded)
}
Output:
Decoded: [[name age] [Alice 30]]

func NewStreamCodec

func NewStreamCodec() *StreamCodec

NewStreamCodec returns a CSV stream serializer.

func (StreamCodec) Decode

func (StreamCodec) Decode(r io.Reader, v *[][]string) error

func (StreamCodec) Encode

func (StreamCodec) Encode(w io.Writer, v [][]string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL