Я пытаюсь записать разделительные значения вкладок в файл, используя пакет tabwriter в Go.Запись разделенных значений вкладки в Go
records map[string] []string
file, err := os.OpenFile(some_file, os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
log.Println(err)
}
w := new(tabwriter.Writer)
w.Init(file, 0, 4, 0, '\t', 0)
for _, v := range records {
fmt.Fprintln(w, v[0],"\t",v[1],"\t",v[2],"\t",v[3])
w.Flush()
}
Проблема, с которой я сталкиваюсь, состоит в том, что записи, записанные в файл, имеют два дополнительных пространства, которые к ним добавляются. Я добавил флаг отладки и это то, что я получаю в файле:
fname1 | mname1 | lname1 | age1
fname2 | mname2 | lname2 | age2
Я не могу видеть, куда я иду неправильно. Любая помощь приветствуется.
Вы прочитали документацию для пакета табулятора? Его заявленная цель явно писать выравниваемый текст с использованием пробелов. Вероятно, вы захотите использовать пакет 'csv' (https://golang.org/pkg/encoding/csv/#Writer). – SirDarius