Scala中分号(;)何时使用?有无分号的差异是什么?
Scala语句结尾分号与无分号的区别
Scala是行尾自动分号推断的语言,分号在绝大多数场景下是可选的,两者的核心区别和适用场景如下:
无分号:这是Scala的常规写法,编译器会自动识别行尾作为语句的结束,让代码更简洁易读。比如:
val x = 10 println(x)编译器会默认把每行当作独立语句处理,完全不需要额外加分号。
有分号:主要用于同一行写多个语句的场景,或者极少数编译器无法正确推断行尾的特殊情况(比如语句跨多行但需要强制结束当前语句)。比如:
val x = 10; println(x) // 同一行放两个语句,必须用分号分隔另外,如果某行代码结尾是操作符(比如
+),编译器会把下一行当作当前语句的延续,要是你想强制结束当前语句,也可以加个分号,但这种情况在日常编码里很少碰到。
Scala社区的普遍风格是尽量省略分号,只在必要时使用,这样写出来的代码更贴合Scala的简洁特性。
内容的提问来源于stack exchange,提问作者Enrico Fabrizio
相关产品推荐
相关产品推荐

