首页 > 解决方案 > 在匿名 lambda 中返回 false

问题描述

这是我的代码。

fun isJoined(user: User): Boolean {
    val member = requireNotNull(guild.getMember(user)) { return false }
    return joined.contains(member)
}

当成员为空时,函数“isJoined”返回 false 还是只是匿名函数返回 false(因此该成员为 false)?
如果匿名函数返回 false,那么如何更改我的代码以返回函数“isJoined”?

标签: kotlin

解决方案


在 Kotlin 中,带有 return 的 lambdas 自动默认为从最里面的函数返回,这意味着你的整个函数将返回 false。阅读此处了解更多信息。此外,elvis 运算符提供了一种更优雅的编写方式:

val member = guild.getMember(user) ?: return false

推荐阅读