私はStringReader上にbufioスキャナを持っています。スキャナ出力のある行に達したら、リーダーの最後まで読みたい。コメント付きコード以外の簡単な方法でこれを達成する方法はありますか?golangスキャナ読者の最後まで読んでください
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)
あなたはおそらくカスタムスプリット機能を使用することができます。https://play.golang.org/p/sr1pUIR3NCは はしかし、これはまだ完全に実行しない場合がありEOFまでシークし、それが分割されていません'\ n'でもう一度。 – abhink