Я пытаюсь написать функцию GO, которая будет читать в строках в текстовом файле, сортировать их (в алфавиту) и перезаписать их обратно к файлу. Прямо сейчас я могу по сути эмулировать CAT
, но я не могу, кажется, не могу манипулировать содержимым элементов в Read_line.
func sort() {
ff, _ := os.OpenFile(file, os.O_RDWR, 0666)
f := bufio.NewReader(ff)
for {
read_line, _ := f.ReadString('\n')
fmt.Print(read_line)
if read_line == "" {
break
}
}
ff.Close()
}
Когда я использую ReadString, как я могу хранить каждую строку в ломтике (или есть лучший способ хранить их, чтобы они могли манипулировать им)? Тогда я бы использовал пакет сортировки способом, подобным этому:
sorted := sort.Strings(lines)
, затем, чтобы написать в файл, я использую что-то похожее на следующее, хотя я не включал его, потому что я еще не получил «сортировать» Работа:
io.WriteString(ff, (lines + "\n"))
заранее спасибо за любые предложения!