Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin相当于swift,如果出租?-对于类变量?_Kotlin - Fatal编程技术网

Kotlin相当于swift,如果出租?-对于类变量?

Kotlin相当于swift,如果出租?-对于类变量?,kotlin,Kotlin,我知道。let{}但是计算的表达式在lambda表达式中,如果需要在方法中返回某些内容,则该表达式的效果不太好 问题代码示例 还有比这更好的方法吗 Swift等价物 事实上,如果不使用if-let,您的swift代码可能会更简单 如果这是您想要实现的实际方法,那么kotlin等效方法是: fun method() : Boolean = anObject?.someBoolean ?: false 如果需要从可选的属性计算布尔值: fun method() : Boolean = anObje

我知道。let{}但是计算的表达式在lambda表达式中,如果需要在方法中返回某些内容,则该表达式的效果不太好

问题代码示例

还有比这更好的方法吗

Swift等价物


事实上,如果不使用if-let,您的swift代码可能会更简单

如果这是您想要实现的实际方法,那么kotlin等效方法是:

fun method() : Boolean = anObject?.someBoolean ?: false
如果需要从可选的属性计算布尔值:

fun method() : Boolean = anObject?.someProperty?.let{functionThatReturnBoolean(it)} ?: false
.let{}返回其正文中的最后一行,这在许多情况下都很有用

someThing?.let{}将返回null,如果由于可选链接而导致某些内容为null


?:默认值运算符是否等于??在swift中,当其lhs为空时,返回rhs上的值。

事实上,如果不使用if-let,您的swift代码可能会更简单

如果这是您想要实现的实际方法,那么kotlin等效方法是:

fun method() : Boolean = anObject?.someBoolean ?: false
如果需要从可选的属性计算布尔值:

fun method() : Boolean = anObject?.someProperty?.let{functionThatReturnBoolean(it)} ?: false
.let{}返回其正文中的最后一行,这在许多情况下都很有用

someThing?.let{}将返回null,如果由于可选链接而导致某些内容为null


?:默认值运算符是否等于??在swift中,当其lhs为空时,返回rhs上的值。

我将尝试用更复杂的内容更新示例,以说明我的问题。我不知道任何+操作会返回布尔值,因为更新的代码意味着。。。但是我假设你会在属性上做一些事情来返回一个布尔值,这相当于在我更新的答案中返回BooleanIt的函数返回它的最后一行是你想知道的。嗯,是的,我只是用这些信息做个实验:所以我想let将作为一个lambda表达式进行计算,而不返回。我错了。谢谢你的帮助。为了说明我的问题,我将尝试用更复杂的东西更新示例。我不知道任何+操作会返回布尔值,因为更新的代码意味着。。。但是我假设你会在属性上做一些事情来返回一个布尔值,这相当于在我更新的答案中返回BooleanIt的函数返回它的最后一行是你想知道的。嗯,是的,我只是用这些信息做个实验:所以我想let将作为一个lambda表达式进行计算,而不返回。我错了。感谢您的帮助。传递给let的lambda返回的值由let函数本身返回。它应该可以很好地返回一些东西。传递给let的lambda返回的值由let函数本身返回。它应该可以很好地返回一些东西。
fun method() : Boolean = anObject?.someBoolean ?: false
fun method() : Boolean = anObject?.someProperty?.let{functionThatReturnBoolean(it)} ?: false