在 Go 中复制 do while 循环
在 Go 中,没有与许多其他编程语言中的 do while 循环直接等效的东西。然而,有一些方法可以实现类似的功能。一种方法是使用 for 循环,并将布尔循环变量初始化为 true。
以下代码演示了如何在 Go 中模拟 do while 循环:
for ok := true; ok; ok = EXPR { // Code to be executed }
此循环将继续执行代码块,直到表达式 EXPR 的计算结果为 false。在原始问题的上下文中,此表达式将表示用户输入是否与所需的退出条件匹配。
以下是所提供代码的修改版本,可正确实现所需的功能:
func sample() { for ok := true; ok; ok = (input != 2) { fmt.Println("Press 1 to run") fmt.Println("Press 2 to exit") var input int fmt.Scanln(&input) switch input { case 1: fmt.Println("hi") case 2: // Exit the program os.Exit(2) default: fmt.Println("def") } } }
在此代码中,循环一直持续到用户输入 2(退出)。如果输入为1,则执行“hi”语句。如果输入是其他内容,它将执行“def”语句。
请注意,您可以将 os.Exit(2) 替换为显式调用 return 以提前退出函数。
以上是如何在 Go 中模拟 Do While 循环?的详细内容。更多信息请关注PHP中文网其他相关文章!