本文主要是介绍kotlin作用域函数(let、with、run、apply、also)的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这五个作用域函数一般情况下都是可以互换的,主要从三个维度来区分它们:是否是扩展函数、返回值是什么、上下文对象是什么。比起表格我更喜欢用归类的方法,所以下面用归类的方法总结它们的区别。
是扩展函数:let、apply、also
不是扩展函数:with
既可以用作扩展函数又可以用作非扩展函数:run
返回值是函数运行结果:let、with、run
返回值是函数对象本身:apply、also
上下文对象用作it参数:let、also
上下文对象用作this:with、run、apply
官方文档中对这几个有简单的“口诀”,可以根据这个“口诀”决定用哪个。
with: with this object, do the following.
run: run the code block and compute the result.
apply: apply the following assignments to the object.
also: and also do the following with the object.
这篇关于kotlin作用域函数(let、with、run、apply、also)的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!