Для чтения построчно минимизированного файла в языке программирования Go мы можем использовать пакет bufio и его функцию NewScanner. Вот пример кода, демонстрирующий этот процесс:
package main import ( "bufio" "fmt" "log" "os" ) func main() { // Открываем файл для чтения file, err := os.Open("file.txt") if err != nil { log.Fatal(err) } defer file.Close() // Создаем новый сканер, связанный с файлом scanner := bufio.NewScanner(file) // Читаем построчно файл for scanner.Scan() { line := scanner.Text() // Ваш код для обработки строки fmt.Println(line) } if err := scanner.Err(); err != nil { log.Fatal(err) } }
В этом примере мы сначала открываем файл с использованием функции os.Open(). Если возникает ошибка, мы сообщаем о ней и завершаем программу. Затем мы создаем новый сканер, используя bufio.NewScanner(), и связываем его с открытым файлом.
Затем мы используем цикл for и scanner.Scan(), чтобы последовательно читать каждую строку из файла. scanner.Scan() возвращает логическое значение true, если есть еще строки для чтения, и false в противном случае. Мы присваиваем текущую строку переменной line, используя scanner.Text(), и можем обрабатывать ее по своему усмотрению. В приведенном примере мы просто выводим строку на экран с помощью fmt.Println().
Наконец, мы проверяем ошибки, возникающие в процессе чтения файла, используя scanner.Err(). Если возникает ошибка, мы выводим ее сообщение и завершаем программу.
Важно отметить, что файл должен быть правильно открыт и находиться в той же директории, что и ваша программа Go.