科特林 |应用与
Kotlin ::应用
在 Kotlin 中,apply 是特定类型的扩展函数,并将其范围设置为调用 apply 的对象。 Apply 在对象引用上运行到表达式中,并在完成时返回对象引用。它当然不是简单地设置属性,而是执行更多功能,并且能够在返回之前评估复杂的逻辑。最后,它返回相同的对象,并进行了一些修改。
适用的定义:
inline fun T.apply(block: T.() -> Unit): T
{
block()
return this
}
应用示例
fun main(args: Array)
{
data class GFG(var name1 : String, var name2 : String,var name3 : String)
// instantiating object of class
var gfg = GFG("Geeks","for","hi")
// apply function invoked to change the name3 value
gfg.apply { this.name3 = "Geeks" }
println(gfg)
}
输出 :
GFG(name1=Geeks, name2=for, name3=Geeks)
在这里,GFG 类的第三个成员从“hi”变为“Geeks”。
Kotlin ::与
与apply一样, with也用于更改实例的属性。但是在这里我们不需要对象引用来运行,即:我们不需要点运算符来引用。
的定义
inline fun with(receiver: T, block: T.() -> R): R
{
return receiver.block()
}
与的例子
fun main(args: Array)
{
data class GFG(var name1: String, var name2 : String,var name3 : String)
var gfg = GFG("hello", "for","hi")
// applying with function
with(gfg)
{
name1 = "Geeks"
name3 = "Geeks"
}
println(gfg)
}
输出 :
GFG(name1=Geeks, name2=for, name3=Geeks)
这里我们不需要任何点运算符,我们使用扩展函数更改了 GFG 类对象的第一个和第三个变量的值。