gpt4 book ai didi

string - golang 扫描器读取到读取器结束

转载 作者:IT王子 更新时间:2023-10-29 01:13:03 27 4
gpt4 key购买 nike

我在 StringReader 上有一个 bufio 扫描器。在我到达扫描仪输出的某一行后,我想阅读直到阅读器结束。除了注释代码之外,是否有任何方法可以使用更简单的方法来实现此目的?

s := `1
2
3
4
5
6
7`

beyond5 := ""
scanner := bufio.NewScanner(strings.NewReader(s))
for scanner.Scan() {
if strings.Contains(scanner.Text(), "5") {
// Read all lines until EOF from scanner
// and store in beyond5
// for scanner.Scan() {
// beyond5 += scanner.Text()
// beyond5 += "\n"
// }
break
}
}

log.Println(beyond5)

最佳答案

似乎扫描仪根本不可能进行这样的操作。我们只需要使用 bufio 阅读器。代码是:

s := `1
2
3
4
5
6
7`

beyond5 := ""
r := strings.NewReader(s)
reader := bufio.NewReader(r)
for {
line, err := reader.ReadString('\n')
if err != nil {
log.Fatal(err)
}
if strings.Contains(line, "5") {
b, _ := ioutil.ReadAll(reader)
beyond5 = string(b)
break
}
}

log.Println(beyond5)

关于string - golang 扫描器读取到读取器结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38587397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com