Kotlin 表达式和语句


#1

关于表达式(expressions)和语句(statement),谁能总结一下两者是什么?区别是什么?


#2


上面这篇文章是关于kotlin expression 和 statement 的描述


上面的这段内容是挺容易理解的,我现在的困惑点是在阅读官方文档:https://kotlinlang.org/docs/reference/returns.html#break-and-continue-labels 的时候对这里面expression的描述跟我理解的不一样,我觉得这里的expression应该是statement才对呀?
例如下面这一段描述:

这里的 for 应该是语句吧


#3

呼叫大佬们:
@bennyhuo
@vincentlauvlwj


#4

https://kotlinlang.org/docs/reference/control-flow.html
这里一章里面有反复提到表达式expression和声明statement的区别,我理解的是。表达式应该能够以y=f(x)的形式表示。
https://kotlinlang.org/docs/reference/grammar.html#expressions
语法解释中,也明确表示了expression的规定。
https://kotlinlang.org/docs/reference/grammar.html#ifExpression
if表达式实际上是类似于 "y | = if else"这个表达式的简称,if表达式,表示的是if用于表达式的语法。
https://kotlinlang.org/docs/reference/grammar.html#statements
同时,语法也表明了for是一个statement。同样的label也是statement。但是label是return这类流程表达式的标记。

https://kotlinlang.org/docs/reference/grammar.html#jumpExpression
这里如果硬要理解,我觉得这里应该是 Any expression (include a statement with jump expression) in Kotlin may be marked with a label.


京ICP备16022265号-2 Kotlin China 2017 - 2018