在 GitHub 上编辑此页面

已弃用:Do-While

语法结构

do <body> while <cond>

不再受支持。建议使用以下等效的 while 循环

while ({ <body> ; <cond> }) ()

例如,而不是

do
  i += 1
while (f(i) == 0)

while
  i += 1
  f(i) == 0
do ()

使用块作为 while 条件的想法也为“循环半途而废”问题提供了解决方案。以下是一个示例

while
  val x: Int = iterator.next
  x >= 0
do print(".")

为什么删除该结构?

  • do-while 的使用频率相对较低,并且可以使用 while 忠实地表达。因此,将其作为单独的语法结构似乎没有意义。
  • 新的语法规则 下,do 用作语句延续,这将与其作为语句引入的含义冲突。