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就指代foodToastUtils.showShort(it)
}

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

Android kotlin let函数学习相关推荐

  1. Android kotlin run函数学习

    继续来看一下kotlin中run函数的应用,首先看一下源码: /*** Calls the specified function [block] and returns its result.** F ...

  2. Android Kotlin学习笔记(一)—— Kotlin Koans

    文章目录 题记 1.资料阅读 2.辅助插件 3.习题演练 3.1 Introduction 1.Hello world 2.Java to Kotlin conversion 3.Named argu ...

  3. 学习Kotlin(五)函数与Lambda表达式

    推荐阅读: 学习Kotlin(一)为什么使用Kotlin 学习Kotlin(二)基本语法 学习Kotlin(三)类和接口 学习Kotlin(四)对象与泛型 学习Kotlin(五)函数与Lambda表达 ...

  4. Kotlin学习篇(2)—— Kotlin的函数

    目录 1. 定义一个函数 2. 表达式函数体 3. 更简洁的使用函数 3.1 命名参数 3.2 默认参数值 4. 顶层函数 5. 扩展函数 6. 可变参数 7. 展开运算符 8. 集合相关的函数 9. ...

  5. 安卓开发重磅炸弹!程序员福利!《高级Kotlin强化实战学习手册(附Demo)》开放下载!

    前言 自Google宣布将 Kotlin 作为 Android 开发的首选语言 (Kotlin-first),现已有60% 的专业 Android 开发者已经采用了该编程语言.在 Google Pla ...

  6. Android Kotlin之Flow数据流

    文章目录 Flow介绍 使用举例 常用操作符 创建操作符 回调操作符 变换操作符 过滤操作符 组合操作符 功能性操作符 末端操作符 冷流 vs 热流 SharedFlow shareIn将普通flow ...

  7. Android kotlin 大全

    Android kotlin 大全 前言 kotlin 学习目录 总结 前言 在学习之前,我们先来了解一下kotlin,在这里,我不会再去介绍kotlin 的发展史,我们直接来说一下我个人对于kotl ...

  8. 关于 Kotlin 一系列的学习教程、文章。学好 Kotlin 从这里开始,争取做到最全、最详细。让没有编程经验的朋友也能通过这个系列教程用 Koltin 语言来开发项目

    KotlinLearn 项目地址:Jetictors/KotlinLearn 简介: 这是一个关于 Kotlin 一系列的学习教程.文章.学好 Kotlin 从这里开始,争取做到最全.最详细.让没有编 ...

  9. Android接口和框架学习

    Android接口和框架学习 缩写: HAL:HardwareAbstraction Layer,硬件抽象层 CTS:CompatibilityTest Suite,兼容性测试套件 Android让你 ...

  10. Android Kotlin协程和Retrofit结合使用

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118085035 本文出自[赵彦军的博客] 往期精彩文章: Kotlin实战指南二十 ...

最新文章

  1. 预发环境与生产环境共享数据库时定时任务重复执行问题解决
  2. 面试问Kafka,这一篇全搞定
  3. 全球及中国甲基全氟异丁醚行业竞争现状与投资战略前景研究报告2022版
  4. 爬虫python爬取页面请求_03 Python网络爬虫第三弹《爬取get请求的页面数据》,urllib...
  5. mPaaS 月度小报|为采购而生,全新资源包上架;前端 2D 游戏化互动入门指南
  6. C# 汉字转拼音(全拼)
  7. linux 注销其它用户,linux下注销其它用户或者tty的命令
  8. .net生成随机字符串
  9. 随机名字生成小demo源码
  10. 遇到oracle错误1012,跟着感觉走,解决安装RAC过程中OCR完整性错误,待深入剖析...
  11. 【BZOJ1060】【codevs1435】时态同步,我可以叫它树形递推吗
  12. [Java] 蓝桥杯ALGO-58 算法训练 字串逆序
  13. 【负载观测】永磁同步电机的负载观测及前馈补偿
  14. python2.7 安装第三方库
  15. 2套后台模板HTML+整套Easyui皮肤组件-后台管理系统模板
  16. 关于PHP的著作文献,著作类参考文献格式
  17. 世界首富马斯克的编程水平怎么样?
  18. 奥克兰大学 计算机硕士 GPA,申请奥克兰大学需要GPA成绩吗
  19. 精通正则表达式学习记录 第二章 入门示例扩展
  20. SQL server不能用IP登录

热门文章

  1. 开发用于异构环境的可生存云多机器人框架
  2. ensp-VRRP的配置
  3. 对话:中国软件能不能找到自己的核心技术
  4. 解码M3U8在线流视频AES-128解密TS合并到MP4
  5. 服务器两个内存为何只显示4g_win10系统插入2个4G内存条却只显示4G的解决方法
  6. 电信NB-IOT物联网卡与阿里云物联网平台,不得不说的秘密!
  7. 解决navicat闪退
  8. 5个最佳团队交流应用程序
  9. 60岁首席工程师被SpaceX边缘化,主管:我怕他退休或死了
  10. 利用mimikatz查看rdp连接密码【渗透测试】