返回类型为Unit的函数如何提前返回



如果我有一个函数要返回一个签名"单元";,我不能早点回来。有变通办法吗?

var f: () -> Unit
f = {
if (false) {
return // compiler error: "return" is not allowed here
}
"whatever"
}

它与返回类型无关,在您的案例中返回类型为Unit。您需要使用标签才能从lambda:返回

var f: () -> Unit
f = myLabel@{
if (false) {
return@myLabel
}
"whatever"
}

最新更新