Do While 循环在 Go 中的复制
在 Go 中,while 循环的概念与 Java 的 do while 循环没有直接关联。但是,有一些方法可以使用 Go 中提供的其他循环结构来模拟 do while 循环的功能。
让我们深入研究您提供的代码示例:
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") } }
您的代码已锁定无论输入如何,都处于无限循环中,因为循环条件 i > 0 始终为真。要模拟 do while 行为,您需要使用不同的循环结构,仅在执行循环体后检查循环条件。
这是实现所需功能的代码的修改版本:
var input int for { fmt.Println("Press 1 to run") fmt.Println("Press 2 to exit") n, err := fmt.Scanln(&input) if n < 1 || err != nil { fmt.Println("Invalid input") break } switch input { case 1: fmt.Println("hi") case 2: fmt.Println("Exiting...") return default: fmt.Println("Invalid input") } }
在此代码中:
此代码提供了执行循环体的所需行为,直到用户明确选择退出。
以上是如何在 Go 中复制 Do While 循环?的详细内容。更多信息请关注PHP中文网其他相关文章!