如何从控制台的标准输入中读取?

我想从命令行读取标准输入,但是在提示我输入之前,我的尝试以结束程序退出而告终。我正在寻找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)

}

回答:

我不确定块有什么问题

reader := bufio.NewReader(os.Stdin)

fmt.Print("Enter text: ")

text, _ := reader.ReadString('\n')

fmt.Println(text)

因为它可以在我的机器上使用。但是,对于下一个块,您需要一个指针,该指针指向要将输入分配给它们的变量。尝试替换fmt.Scanln(text2)fmt.Scanln(&text2)。不要使用Sscanln,因为它解析内存中已有的字符串,而不是解析来自stdin的字符串。如果您想做类似您想做的事情,请替换为fmt.Scanf("%s",

&ln)

如果仍然无法解决问题,您的罪魁祸首可能是某些奇怪的系统设置或有缺陷的IDE。

以上是 如何从控制台的标准输入中读取? 的全部内容, 来源链接: utcz.com/qa/399561.html

回到顶部