package main import ( "fmt" ) type ExportFormat string const ( ExportFormatExcel ExportFormat = "XLSX" ExportFormatCsv ExportFormat = "CSV" ) // Exporter - интерфейс экспорта type Exporter interface { Convert(filePath string, rows chan []any) error } func (e ExportFormat) GetExporter(encoding Encoding) (Exporter, error) { switch e { case ExportFormatExcel: return new(XlsxExporter), nil case ExportFormatCsv: return &CsvExporter{Encoding: encoding}, nil } return nil, fmt.Errorf("unknown format: %s", string(e)) }