with函数是:run全局函数和扩展run函数的结合体即:with是全局函数,with有一个receiver的传入参数和对应的receiver的扩展block函数;并且返回值都是block的返回值 apply函数:是T的扩展函数,对应的block是无参,返回值是this also函数:跟apply函数几乎是一样的,区别是also对应的block传入参数是this并且不是T的扩展函数 let...
对于with,T.run,T.apply接收者是this,而T.let和T.also接受者是it;对于with,T.run,T.let返回值是作用域的最后一个对象(this),而T.apply和T.also返回值是调用者本身(itself)。 好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢...
从结构上来看apply函数和run函数很像,唯一不同点就是它们各自返回的值不一样,run函数是以闭包形式返回最后一行代码的值,而apply函数的返回的是传入对象的本身。 五、内联扩展函数 also 5.1 also 函数使用的一般结构 object.also {// todo} 5.2 also 函数的inline+lambda结构 publicinlinefun<T>T.also(block: (...
apply 函数代码示例 :后面设置 可读 , 可写 , 可执行 权限的配置操作 , 可以在 apply 标准库函数中完成 , 代码如下 : 代码语言:javascript 复制 importjava.io.File funmain(){val file=File("hello.txt").apply{this.setReadable(true)this.setWritable(true)this.setExecutable(true)}} 二、let 标准库函数...
下面,我将讲解Kotlin里提供用于扩展 & 方便开发者编码的几个有用内置函数:let函数、also函数、with函数、 run函数、apply函数。 1. let函数 1.1 简介 1.2 使用方法 // 作用1:使用it替代object对象去访问其公有的属性 & 方法object.let{it.todo()}
关于Kotlin的作用域函数:let、run、with、apply和also。它们有一个共同点:它们都在对象上调用,在这些函数的作用域内,可以访问对象本身,而无需其名称。 使用let作用域函数转换对象并返回结果 首个提示关于let作用域函数,当你想对一个对象执行转换并分配结果时,它特别有用: ...
Kotlin作为一种功能强大且易用的编程语言,其标准库提供了许多实用的函数,其中run、with、let、also和apply是五个非常常用的函数。这些函数可以帮助我们更加优雅和高效地编写代码,尤其是在链式调用和处理返回值的场景下。 一、run函数 run函数是Kotlin中非常常用的一个函数,它接受一个lambda表达式作为参数,并在lambda表达...
作用域函数是Kotlin比较重要的一个特性,共分为以下5种:let、run、with、apply 以及also,这五个函数的工作方式可以说非常相似,但是我们需要了解的是这5种函数的差异,以便在不同的场景更好的利用它。 读完这篇文章您将了解到: 什么是Kotlin的作用域函数? let、run、with、apply 以及also这5种作用域函数各自的角色...
六、 总结 上面五个函数,不论用哪个,都可以完成类似功能,只不过使用恰当的函数,可以进一步减少代码量,选择标准可以参考下面图片: let、run、with、apply、also 如何选择 最后再看下老外整理的两张图加深记忆: Kotlin 标准方法流程图 Kotlin 标准方法表格
kotlin中有一些标准库函数-run、with、let、apply以及also,对初步学习过程,总是傻傻分不清楚,特做此记录。 上面的标准库函数,依次可以分为run{}、T.run()、with()、T.let()、T.apply()、T.also(),它们通通为调用者提供内部作用域,所以,它们又叫作用域函数。