登录
首页 >  Golang >  Go问答

fmt.Scanf 不阻塞控制台输入

来源:stackoverflow

时间:2024-03-13 12:03:29 486浏览 收藏

你在学习Golang相关的知识吗?本文《fmt.Scanf 不阻塞控制台输入》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

scanf 不等待输入。提出的其他问题有:\n 留在标准输入中,因为他们在 scanf 之前按了 enter。就我而言,我做的第一件事是运行 scanf -> 在我的情况下没有 \n 剩余。我是 golang 新手,但根据我的 c 概念,我没有做错任何事情。

还尝试了 fmt.scanf("%d\n",&n) <--- 但它没有意义,因为此扫描没有 \n 剩余内容。

func main() {
    var a int = 0
    var b int = 1
    var c int
    var n int 
    fmt.Scanf("%d\n",&n)
    //fmt.Printf("%d \n",n)
    var i int
    fmt.Printf("%d %d ", a, b)
    for i = 0; i < n-2; i++ {
        c = (a + b) % 10
        fmt.Printf("%d ", c)
        a = b
        b = c
    }
}

下面是我的演示代码链接 https://play.golang.org/p/_owtakksdhn

我得到结果: 0 1 程序退出。


解决方案


遗憾的是,go 演示不支持控制台输入。 甚至在 GitHub 问题 here 上提到他们不打算将此作为一项功能。

此外,如果您查看 this 评论,其中指出了您的问题的可能解决方案,如果您将其分配给文件,则可以从演示中的 os.Stdin 中读取。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>