当前位置: > > > > 如何在 Golang 中获取用户的输入(fmt.scan)
来源:stackoverflow
2024-04-21 10:45:32
0浏览
收藏
哈喽!今天心血来潮给大家带来了《如何在 Golang 中获取用户的输入(fmt.scan)》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!
问题内容
我无法使用 fmt.scan()
在 golang 中获取用户的输入。
package main import "fmt" func main() { fmt.print("enter text: ") var input string e, _ := fmt.scanln(&input) fmt.println(input) fmt.println(e) }
代码图片
停止调试器后: 代码图像 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) }
在我的代码中添加错误后的图像。下一行中的“不可用”是什么(在我的输入值:“51213”之后)
解决方案
你的代码没有问题。如果您使用 go build
构建代码并直接在终端中运行二进制文件,您将看到代码运行。
您遇到的问题是由 delve 和 vscode 调试控制台引起的。 vscode 调试控制台不支持从 stdin 读取。具体可以查看这个问题:。
不需要“e”。将其替换为下划线并删除 print 语句。
import ( "fmt" "os" ) func main() { fmt.Print("Enter text: \n") var input string _, err := fmt.Scanln(&input) if err != nil { fmt.Fprintln(os.Stderr, err) return } fmt.Println(input) }
好了,本文到此结束,带大家了解了《如何在 Golang 中获取用户的输入(fmt.scan)》,希望本文对你有所帮助!关注公众号,给大家分享更多Golang知识!