if(a>4) { val result = a }
这是创建第二个val
名称result
,它只在if
块内部作用域(可见),因此return语句总是返回第2行定义的值.
A val
无法重新分配,因此var
如果需要更改值,则需要使用a :
var result = 3 if (a > 4) { // no `var` or `val` prefix indicates we are // referring to an existing variable that's already declared result = a }
但对于像这样的简单情况,你可以避免变量并使用:
def vertify(a: Int): Int = if (a > 4) a else 3