当前位置: 首页 > 知识库问答 >
问题:

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

苏洛城
2023-03-14

这是我目前拥有的:

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)
}

共有1个答案

哈栋
2023-03-14

我不知道这个街区出了什么问题

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。

 类似资料:
  • 问题内容: 我想从命令行读取标准输入,但是在提示我输入之前,我的尝试以结束程序退出而告终。我正在寻找C#中的Console.ReadLine()等效项。 这是我目前拥有的: 问题答案: 我不确定块有什么问题 因为它可以在我的机器上使用。但是,对于下一个块,您需要一个指针,该指针指向要将输入分配给它们的变量。尝试替换为。不要使用,因为它解析内存中已有的字符串,而不是解析来自stdin的字符串。如果您

  • 我刚刚开始学习Groovy,正在GroovyConsole中进行实验。 有没有办法读取用户输入?我尝试了下面的代码,但我得到了一个错误。 这是我收到的错误: 有什么我需要进口的吗? 任何帮助都会很好。 谢谢

  • 问题内容: 如何使用该类从控制台读取输入?像这样: 基本上,我只需要让扫描程序读取用户名的输入,然后将输入分配给变量。 问题答案: 一个简单的例子来说明如何从中读取单个整数。这真的很简单。 要检索用户名,我可能会使用。 如果你想对输入进行更多控制,或者仅验证变量,也可以使用。 你可以在API文档中找到有关其实现的更多信息

  • 如何使用类从控制台读取输入?类似这样的事情: 基本上,我想要的只是让扫描器读取用户名的输入,并将输入赋给变量。

  • 问题内容: 从标准输入逐行读取的Scala配方是什么?类似于等效的Java代码: 问题答案: 最直接的前瞻性的方式将只使用它的一部分。但是,这很丑陋,因为您需要检查最终的空值: 这太冗长了,您宁可使用它。 我认为将使用更漂亮的方法:

  • 问题内容: 我实际上尝试在600毫秒的时间内完成上述操作,此后它不应允许读取,但bufferedreader的readline阻塞了。请帮助 问题答案: 您可以使用BufferedReader.available()> 0检查是否有要读取的字符。