如何在Go中等待命令行输入
我想显示一个“>”,然后让程序等待用户在命令行中键入一些内容,然后按enter键(并最终将其存储为字节片)。在Java中,我会做如下工作:如何在Go中等待命令行输入,go,Go,我想显示一个“>”,然后让程序等待用户在命令行中键入一些内容,然后按enter键(并最终将其存储为字节片)。在Java中,我会做如下工作: Scanner scanner = new Scanner(System.in); System.out.print("> "); String sentence = scanner.nextLine(); 我尝试了一些涉及os.Args、console.ReadBytes('\n')和bufio.NewReader(os.Stdin)的方法,但我
Scanner scanner = new Scanner(System.in);
System.out.print("> ");
String sentence = scanner.nextLine();
我尝试了一些涉及
os.Args、console.ReadBytes('\n')
和bufio.NewReader(os.Stdin)
的方法,但我仍然没有找到答案。如有任何建议,将不胜感激。谢谢。一些Go代码可能会有帮助,这样我就可以告诉你你做错了什么。但以下是你在围棋中如何做到这一点:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
buf := bufio.NewReader(os.Stdin)
fmt.Print("> ")
sentence, err := buf.ReadBytes('\n')
if err != nil {
fmt.Println(err)
} else {
fmt.Println(string(sentence))
}
}
如果您想要一个字符串,那么也可以使用buf.ReadString('\n')。然后可以将输入代码放入一个循环中,沿通道将其文本行发送到消费goroutine。这种添加提供了一种自然并发的方式来表达对用户输入的处理。