首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从控制台中的标准输入中读取?

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

Stack Overflow用户
提问于 2014-01-03 10:33:41
回答 10查看 365K关注 0票数 335

我想从命令行读取标准输入,但在提示输入之前,我的尝试已随着程序退出而结束。我正在寻找C#中的Console.ReadLine()等价物。

这是我目前所拥有的:

代码语言:javascript
复制
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)
}
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2014-01-03 10:42:44

我不确定这个街区出了什么问题

代码语言:javascript
复制
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println(text)

因为它能在我的机器上工作。然而,对于下一个块,您需要一个指向要将输入赋值给的变量的指针。尝试用fmt.Scanln(&text2)替换fmt.Scanln(text2)。不要使用Sscanln,因为它解析的是内存中已经存在的字符串,而不是来自标准输入的字符串。如果你想做一些你想做的事情,用fmt.Scanf("%s", &ln)代替它

如果这仍然不起作用,您的罪魁祸首可能是一些奇怪的系统设置或有buggy的IDE。

票数 367
EN

Stack Overflow用户

发布于 2015-02-04 08:05:05

你也可以试试:

代码语言:javascript
复制
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
    fmt.Println(scanner.Text())
}

if scanner.Err() != nil {
    // Handle error.
}
票数 153
EN

Stack Overflow用户

发布于 2016-11-21 00:57:22

在一个循环中读取多个输入的另一种方法,它可以处理带有空格的输入:

代码语言:javascript
复制
package main
import (
    "fmt"
    "bufio"
    "os"
)

func main() {
    scanner := bufio.NewScanner(os.Stdin)
    var text string
    for text != "q" {  // break the loop if text == "q"
        fmt.Print("Enter your text: ")
        scanner.Scan()
        text = scanner.Text()
        if text != "q" {
            fmt.Println("Your text was: ", text)
        }
    }
}

输出:

代码语言:javascript
复制
Enter your text: Hello world!
Your text was:  Hello world!
Enter your text: Go is awesome!
Your text was:  Go is awesome!
Enter your text: q
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20895552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档