首页 > 解决方案 > 如何读取文本文件的每 2 行并保存为字符串数组?

问题描述

我正在尝试将文本文件读入我的程序并将文本文件保存为字符串数组,我已经设法将所有行 1 逐 1 读入字符串数组,但我想拥有它,因此它将 2 行读入一个数组。我的 txt 文件看起来像这样:

line1
line2
line3
line4

fmt.Println(text[0]) 我希望它打印:line1line2

fmt.Println(text[1]) 我希望它打印:line3line4

我目前的代码是:

    scanner := bufio.NewScanner(file)
    scanner.Split(bufio.ScanLines)
    var text []string
    for scanner.Scan() {
        text = append(text, scanner.Text())
    }

问题是它正在逐行读取每一行,但我希望它读取 2 并将其作为一个保存到数组中。

标签: arrayssortinggo

解决方案


您可以for通过另一个调用来读取循环中的第二行scanner.Scan

var text []string
for scanner.Scan() {
    t := scanner.Text()
    if scanner.Scan() {
        t = t + scanner.Text()
    }
    text = append(text, t)
}

推荐阅读