我想从命令行读取标准输入,但我的尝试以程序在提示我输入之前退出而结束。我正在寻找 C# 中 Console.ReadLine() 的等价物。
这就是我目前拥有的:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println(text)
fmt.Println("Enter text: ")
text2 := ""
fmt.Scanln(text2)
fmt.Println(text2)
ln := ""
fmt.Sscanln("%v", ln)
fmt.Println(ln)
}
原文由 Dante 发布,翻译遵循 CC BY-SA 4.0 许可协议
我不确定这个块有什么问题
因为它在我的机器上工作。但是,对于下一个块,您需要一个指向要为其分配输入的变量的指针。尝试将
fmt.Scanln(text2)
替换为fmt.Scanln(&text2)
。不要使用Sscanln
,因为它会解析内存中已有的字符串而不是标准输入。如果你想做你想做的事情,用fmt.Scanf("%s", &ln)
替换它如果这仍然不起作用,您的罪魁祸首可能是一些奇怪的系统设置或有问题的 IDE。