3 回答
TA贡献1909条经验 获得超7个赞
缓冲一组行并检测一组行的结尾。例如,
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
scn := bufio.NewScanner(os.Stdin)
for {
fmt.Println("Enter Lines:")
var lines []string
for scn.Scan() {
line := scn.Text()
if len(line) == 1 {
// Group Separator (GS ^]): ctrl-]
if line[0] == '\x1D' {
break
}
}
lines = append(lines, line)
}
if len(lines) > 0 {
fmt.Println()
fmt.Println("Result:")
for _, line := range lines {
fmt.Println(line)
}
fmt.Println()
}
if err := scn.Err(); err != nil {
fmt.Fprintln(os.Stderr, err)
break
}
if len(lines) == 0 {
break
}
}
}
安慰:
输入行:
你好
世界
^]
结果:
你好
世界
输入行:
告别
世界
^]
结果:
告别
世界
输入行:
^]
要终止一组行,请在空行上输入:< ctrl+]>< Enter>。要终止输入,请输入一行:< ctrl+]>< Enter>。
- 3 回答
- 0 关注
- 277 浏览
添加回答
举报