我无法通过 use获取Golangfmt.scan()中用户的输入。
package main
import "fmt"
func main() {
fmt.Print("Enter text: ")
var input string
e, _ := fmt.Scanln(&input)
fmt.Println(input)
fmt.Println(e)
}
Run Code Online (Sandbox Code Playgroud)
停止调试器后:
代码图像
已err添加到代码中,但没有任何反应。
func main() {
fmt.Print("Enter text: ")
var input string
e, err := fmt.Scanln(&input)
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
fmt.Println(input)
fmt.Println(e)
}
Run Code Online (Sandbox Code Playgroud)
在我的代码中添加错误后的图像。下一行中“不可用”是什么(在我的输入值:“51213”之后)
你的代码没有问题。如果您使用构建代码并go build直接在终端中运行二进制文件,您将看到代码运行。
您遇到的问题是由 Delve 和 vscode 调试控制台引起的。vscode 调试控制台不支持从 stdin 读取。您可以检查此问题:无法调试从 STDIN 读取的程序以获取详细信息。