有人告诉我科特林的@Column( length = 100000 )
private String text;
是什么?我检查了官方文档,但不明白它是什么。
您还可以告诉我下面的代码receiver
具有什么功能:
Int.
答案 0 :(得分:1)
通常,接收者是this
,即当前实例。
在Kotlin中,带接收器的lambda(即Int.(Int, Float) -> Int
是)定义函数的方法,这些函数的行为与其接收器的方法类似:它们可以使用this
引用接收器,并且可以轻松调用接收方的其他方法和属性。 (私有方法和属性除外。)
这是您输入的lambda类型的一些示例代码,其中接收方的类型为Int。实际的接收者实例作为第一个参数传递给invoke
。
val lambdaWithReceiver: Int.(Int, Float) -> Int = { firstArgument, secondArgument ->
println("this = $this") // accessing this
println("this.toLong() = ${toLong()}") // calling Int's methods
println("firstArgument = $firstArgument")
println("secondArgument = $secondArgument")
this + 3
}
// passes 7 as the receiver, 3 and 2F as the arguments
val result = lambdaWithReceiver.invoke(7, 3, 2F)
println("result = $result")
上面的代码段将输出以下输出:
this = 7
this.toLong() = 7
firstArgument = 3
secondArgument = 2.0
result = 10