Как прочитать точную строку из файла Golang - PullRequest
0 голосов

Как мне найти и прочитать номер строки в файле, который соответствует некоторому вводу? Я погуглил этот код, но он загружает все содержимое файла в один массив со всеми проиндексированными строками. Нет ли способа попроще?

func LinesInFile(fileName string) []string {
    f, _ := os.Open(fileName)
    // Create new Scanner.
    scanner := bufio.NewScanner(f)
    result := []string{}
    // Use Scan.
    for scanner.Scan() {
        line := scanner.Text()
        // Append line to result.
        result = append(result, line)
    }
    return result
}

1 Ответ

0 голосов
/ 06 мая 2020

Вам следует просто игнорировать строки, которые вас не интересуют.

func ReadExactLine(fileName string, lineNumber int) string {
    inputFile, err := os.Open(fileName)
    if err != nil {
        fmt.Println("Error occurred! ", err)
    }

    br := bufio.NewReader(inputFile)
    for i := 1; i < lineNumber; i++ {
        _, _ = br.ReadString('\n')
    }
    str, err := br.ReadString('\n')
    fmt.Println("Line is ", str)
    return str
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...