kotlin T.()
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin T.()相关的知识,希望对你有一定的参考价值。
。。闻所未闻?
非也
看apply函数
public inline fun <T> T.apply(block: T.() -> Unit): T
contract
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
block()
return this
他的方法参数就是 block:T.()->Unit
那么。什么意思呢
首先我们先看下普通的扩展函数
infix fun String?.printWithDefault(default: String) = print(this ?: default);
类型为String?很好理解
难点 泛型扩展函数
fun <T> T.easyPrint(): T
println(this)
return this
欸 你会发现
T.easyPrint() 里面可以用this 。this指的是T
那么 apply函数里面大家都知道
fun main()
1.apply
println(this)
也是this对象。那么就懂了吧
这个函数必须是一个可以返回本身的方法体。。。。听着有些绕。但是我就是这么理解的。
与50位技术专家面对面 20年技术见证,附赠技术全景图以上是关于kotlin T.()的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin中,理解T.()->Unit 、 ()->Unit与(T) -> Unit
Kotlin 标准库随处可见的 contract 到底是什么?