【问题标题】:How do I break out of an infinite loop in Golang [closed]如何打破 Golang 中的无限循环 [关闭]
【发布时间】:2020-06-30 16:58:53
【问题描述】:

我正在用 Go 编写一个程序来猜测一个随机数。我遇到了 for 循环的问题。

  1. 我无法阻止 for 循环不断迭代。
  2. 一旦条件满足,我如何跳出循环。

    for loop == true {
    
    //fmt.Println("read number", i, "/n")
    if i == ans {
        fmt.Println("well done")
    }
    if i != ans {
        fmt.Println("Nope")
        fmt.Scan(i)
    }
    

【问题讨论】:

  • 在某些中断条件下使 var loop 等于 false
  • 解决了只需修复 scan() 函数和循环中断条件的问题
  • 尝试使用“os.exit(0)”它肯定会工作。

标签: for-loop go


【解决方案1】:

你需要break退出循环:

for {
    fmt.Scan(i)
    if i == ans {
        fmt.Println("well done")
        break
    }
    if i != ans {
        fmt.Println("Nope")
    }
}

【讨论】:

  • 好酷,但它仍然不会让我正确循环。如果我不输入任何想法,它会进入循环然后打印出 nope?
  • 那么你需要更具体一些。有什么不符合您的预期?
  • 扫描的行为可能与您预期的不同。阅读the docs 并检查您的错误。
  • stackoverflow.com/a/40061275/121660 之类的东西通常是读取行然后直接扫描的更好方法
  • 解决了它是 Scan 问题和我使用的循环在需要时继续重新循环的组合
猜你喜欢
  • 2013-03-08
  • 2012-03-04
  • 2012-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多