我希望有一组代码能够在用户明确想要退出函数之前一直执行。例如:当用户运行程序时,他将看到2个选项:
- 再次运行
- 退出
这将使用switch case结构实现。如果用户按下1,则将执行与1相关联的一组函数,如果用户按下2,则程序将退出。我应该如何在Go中实现此场景?在Java中,我认为可以使用“do while”结构完成,但是Go不支持“do while”循环。以下是我尝试过的代码,但是这会进入无限循环:
func sample() {
var i = 1
for i > 0 {
fmt.Println("Press 1 to run")
fmt.Println("Press 2 to exit")
var input string
inpt, _ := fmt.Scanln(&input)
switch inpt {
case 1:
fmt.Println("hi")
case 2:
os.Exit(2)
default:
fmt.Println("def")
}
}
}
无论输入什么,该程序都只打印“hi”。请问我在这里做错了什么? 谢谢。
ok = ok
操作,并在循环结束时手动设置ok
即可。 - Linearfor ok := true; ok; ok = ok { ... }
- David Callanan