code: func (r *Reader) Read() (record []string, err error) {
  	for {
  		record, err = r.parseRecord()
  		if record != nil {
  			break
  		}
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	if r.FieldsPerRecord > 0 {
  		if len(record) != r.FieldsPerRecord {
  			r.column = 0 // report at start of record
  			return record, r.error(ErrFieldCount)
  		}
  	} else if r.FieldsPerRecord == 0 {
  		r.FieldsPerRecord = len(record)
  	}
  	return record, nil
  }
docs: // Read reads one record from r.  The record is a slice of strings with each
  // string representing one field.