首页 > 后端开发 > Golang > 正文

如何在 Go 中复制 Do While 循环?

DDD
发布: 2024-11-20 03:23:01
原创
223 人浏览过

How to Replicate a Do While Loop in Go?

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")
    }
}
登录后复制

在此代码中:

  • 循环变量 i 被删除,并使用 int 类型的新变量 input 来捕获用户输入。
  • 循环条件未定义,会导致无限循环。
  • break 语句用于在用户输入无效输入或选择退出时退出循环。
  • return 语句用于当用户选择退出时退出函数,从而有效地终止程序。

此代码提供了执行循环体的所需行为,直到用户明确选择退出。

以上是如何在 Go 中复制 Do While 循环?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板