我想从命令行读取标准输入,但我的尝试已经结束,程序在提示我输入之前就退出了。我正在寻找相当于控制台.ReadLine() in C#.
这就是我目前所拥有的:
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)
}
我不确定该块出了什么问题
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println(text)
因为它在我的机器上运行。但是,对于下一个块,您需要一个指向要为其分配输入的变量的指针。尝试更换fmt.Scanln(text2)
with fmt.Scanln(&text2)
。不要使用Sscanln
,因为它解析内存中已有的字符串而不是来自 stdin 的字符串。如果您想做类似您想做的事情,请将其替换为fmt.Scanf("%s", &ln)
如果这仍然不起作用,罪魁祸首可能是一些奇怪的系统设置或有问题的 IDE。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)