gpt4 book ai didi

go - 从标准输入读取行直到某个字符

转载 作者:IT老高 更新时间:2023-10-28 13:09:41 25 4
gpt4 key购买 nike

我正在学习围棋。

我的程序应该从标准输入读取数据,直到我输入带有单个句点的行。

package main

import (

"os"
"fmt"
"bufio"

)

func main(){

in := bufio.NewReader(os.Stdin)
input := ""

for input != "." {
input, err := in.ReadString('\n')
if err != nil {
panic(err)
}
}
}

我应该如何修改我的 for 循环,以在我输入一个点时停止程序?

我试图用 for 语句实现一个 while 循环,我的方法有问题吗,是条件错误,还是 ReadString 弄乱了我的数据?

最佳答案

以防万一其他人遇到这个问题:

从 Go 1.1 开始,有一种更好的方法可以循环某些可用输入的行。这就是我今天要解决 OP 问题的方法:

package main

import (
"bufio"
"fmt"
"os"
)

func main() {
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
line := scanner.Text()
if line == "." {
break
}
fmt.Println(line) // or do something else with line
}
}

scanner.Text() 自动去除尾随的换行符。

关于go - 从标准输入读取行直到某个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14205337/

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