package script import ( "encoding/csv" "os" ) // CSV creates csv.Reader reading from filename. func NewCSVReader(filename string) (*CSVReader, error) { return newCSVreader(filename) } type CSVReader struct { f *os.File rdr *csv.Reader } func (c *CSVReader) Read() ([]string, error) { return c.rdr.Read() } func (c *CSVReader) Close() error { return c.f.Close() } func newCSVreader(name string) (*CSVReader, error) { f, err := os.Open(name) if err != nil { return nil, err } csvr := csv.NewReader(f) return &CSVReader{f: f, rdr: csvr}, nil }