В Go для чтения конкретной строки в файле по её номеру можно использовать следующий подход:
- Откройте файл с помощью функции
os.Open()
, которая возвращает указатель на открытый файл и ошибку, если возникли проблемы с открытием файла. Например:
file, err := os.Open("file.txt") if err != nil { log.Fatal(err) } defer file.Close()
- Используйте буферизованный сканер (
bufio.Scanner
) для последовательного чтения строк из открытого файла. Например:
scanner := bufio.NewScanner(file)
- Прочитайте строки из файла, используя метод
scanner.Scan()
, который возвращаетtrue
, если была успешно прочитана следующая строка, илиfalse
, если в файле больше нет строк. Например:
lineNumber := 1 for scanner.Scan() { line := scanner.Text() if lineNumber == desiredLineNumber { fmt.Println(line) break } lineNumber++ }
- Выведите найденную строку или выполните другую требуемую логику, и завершите цикл после нахождения нужной строки.
- Обработайте возможные ошибки, возникшие при сканировании файла и чтении строк. Например:
if err := scanner.Err(); err != nil { log.Fatal(err) }
В итоге, приведенный код позволяет открыть файл, прочитать строки и найти нужную строку по номеру. Не забудьте обработать возможные ошибки, которые могут возникнуть в процессе работы с файлом.