You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala中do..while循环是否仍支持?语法报错问题咨询

Scala中do..while循环的支持情况与语法问题解析
  • Scala完全支持do..while循环,从早期版本到最新的Scala 3都保留了该语法,从未被移除过。
  • 你遇到的报错属于语法错误,根源是Scala的自动分号推断机制在这个场景下失效:var set = Set(1)这一行末尾没有分号,编译器会尝试将它与下一行的do合并解析,导致语句结构混乱。
  • 修复方法很简单,只需在第一行末尾添加分号,让编译器明确语句边界:
var set = Set(1);
do {
  set = set + (set.max + 1)
} while (set.sum < 32)
println(set.size)
  • 补充:虽然do..while语法合法,但Scala更提倡函数式编程风格(比如用递归、集合操作或Iterator替代命令式循环),不过如果业务场景需要,正确编写的do..while循环可以正常执行。

内容的提问来源于stack exchange,提问作者Machkour Oke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:20:42