我需要帮助才能走出困境,因为我不明白我遇到的问题背后的逻辑。我需要多次询问用户输入,所以逻辑上我正在创建一个函数,如:func askstuff() { fmt.Println("Write something:") var input string fmt.Scanln(&input)}现在我需要让用户从 main() 函数输入一个变量,但我有一个非声明性的问题和一个大脑问题……事实上我期待做类似的事情,但这是错误的func main() { askstuff() println askstuff(input)}我一直在阅读所有的帖子和文档,我明白我应该在 main() 之外,在主体中,在 main() 之前使用声明变量而不是函数。仅当存在硬编码的固定值时它才像魅力一样工作,但它不适用于 Scanln 交互式控制台输入。我需要执行很多次 askstuff(),如果没有单独的类/函数,它会让我发疯,但我还需要将输入关闭到 main() 函数内的变量中,而不是 askstuff() 函数,以便能够处理它。如果您给我一个不使用固定硬编码值但使用 scanln 用户控制台交互的示例,我 100% 可以接受 RTFM 回复。所有书籍示例从不使用 scanln 输入,始终是主体中 main () 之外的固定声明变量。我是否在特定的 scanln 限制下运行?设计概念与我的逻辑有关吗?或者有更好的方法?请不要只给我关于如何解决问题的片段,解释我的逻辑在哪里以及为什么是错误的,以便理解它并且以后不要重复错误。
1 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
返回字符串askstuff并在调用者中根据需要使用:
func askstuff() string {
fmt.Println("Input to exit digit X:")
var input string
fmt.Scanln(&input)
return input
}
func main() {
x := askstuff()
fmt.Println(x)
}
- 1 回答
- 0 关注
- 76 浏览
添加回答
举报
0/150
提交
取消