Go_bye 2020-04-03 11:27 采纳率: 66.7%
浏览 851

为什么Go语言在vscode中使用fmt包的Scanln()在console中输入,却读取不了,会不断输入?

我在vscode中使用fmt.Scanln()等输入函数,都不可以在vscode中成功输入,没有报错,会让你一直输入。

package main

import "fmt"

func main() {
    var soo string
    fmt.Scanf("%s\n", &soo)
    fmt.Println(soo)
}

//或者
package main

import "fmt"

func main() {
    var soo string
    fmt.Scanln(&soo)
    fmt.Println(soo)
}

//都不行 

图片说明

但是在单步调试中会出现错误。
单步调试出错图片说明

我下载了 Run in Terminal 插件也不行 。

请教大佬

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-25 16:24
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    这个问题可能是由于 VS Code 默认启动程序时无法接受标准输入的原因导致的。为了解决这个问题,你可以在 VS Code 中使用 "Run Code" 插件或者直接在终端中运行你的程序。 如果你想在 VS Code 中继续使用标准输入,可以尝试以下两种方法中的一种:
    1. 使用 "Run Code" 插件:首先安装 "Code Runner" 插件,然后在代码中使用 fmt.Scanln()fmt.Scanf(),然后右键点击代码区域选择 "Run Code" 或者使用快捷键 Ctrl + Alt + N 运行程序。
    2. 使用终端运行程序:在 VS Code 中按下 Ctrl + 打开终端,然后在终端中运行你的程序。在终端中输入go run your_program.go` 即可运行你的程序。这种方式可以正常接受标准输入。 下面是一个示例程序:
    package main
    import "fmt"
    func main() {
        var soo string
        fmt.Println("Please enter a string:")
        fmt.Scanln(&soo)
        fmt.Println("You entered:", soo)
    }
    

    你可以尝试使用以上方法来解决在 VS Code 中无法输入的问题。希望对你有帮助。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀