Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > Golang сохранение слайса в файл


Автор: CynicRus 23.3.2018, 10:12
Добрый день уважаемым форумчанам. Изучаю потихоньку Golang, и столкнулся со следующей проблемой.
Если слайс наполняемый строками. Пытаюсь его сохранить в файл следующим образом:
Код

func buildData(filename string, data []string) {
    buf := &bytes.Buffer{}
    gob.NewEncoder(buf).Encode(data)
    bs := buf.Bytes()
    err := ioutil.WriteFile(filename, bs, 0644)
    if err != nil {
        panic(err.Error())
    }
}


Работает быстро, 300 000 строк сохраняет в секунду, но...добавляет в начало строк всякий мусор типа ! и ", которых в строках нет. Причём сохраняет не в каждую строку а абсолютно рандомную. Что я делаю не так?

Автор: CynicRus 23.3.2018, 13:29
В результате сделал так:
Код

func buildData(filename string, data []string) {
    s := strings.Join(data[0:], "")
    err := ioutil.WriteFile(filename, []byte(s), 0644)
    if err != nil {
        panic(err.Error())
    }
}

и всё взлетело.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)