Android kotlin let函数学习

    kotlin中提供了很多高级的语法特性,在Kotlin中的源码标准库(Standard.kt)中提供了一些Kotlin扩展的内置函数可以优化kotlin的编码。Standard.kt是Kotlin库的一部分,它定义了一些基本函数。对于这些函数我们需要慢慢地对其进行渗透和沉淀,今天就先浅显地来说一说let函数的作用和使用方法。这篇问文章在学习更深入的用法后会继续更新。

    先来看一下Standard.kt中let函数的方法定义:

/**
 * Calls the specified function [block] with `this` value as its argument and returns its result.
 *
 * For detailed usage information see the documentation for [scope functions](https://kotlinlang.org/docs/reference/scope-functions.html#let).
 */
@kotlin.internal.InlineOnly
public inline fun <T, R> T.let(block: (T) -> R): R {
    contract {
        callsInPlace(block, InvocationKind.EXACTLY_ONCE)
    }
    return block(this)
}

     这里就不翻译了,怕越翻译越不明白,推荐大家去看kotlin官网,或者去看中文站的相关页面:作用域函数  

    下面通过一个例子来理解let函数的作用吧:

//当前我们假定"meat"是从服务器返回的数据,有可能为空
val food: String? = "meat"
//let第一个作用
//表示object不为null的条件下,才会去执行let函数体
food?.let { 
    //此处实现food不为空的情况下需要执行的代码    
    doSomething()

    //let第二个作用
    //在函数体内使用it替代object对象去访问其公有的属性和方法,此处的it就指代food
    ToastUtils.showShort(it)
}

    例子很简单,注释也很详细,多写一写,就慢慢地熟练和理解了。如有错漏,还请指正,不胜感激!

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值