gpt4 book ai didi

lambda - "Lambda with Receiver": What is this Kotlin construct?

转载 作者:IT老高 更新时间:2023-10-28 13:47:12 25 4
gpt4 key购买 nike

我正在查看这个 Kotlin 对象声明:

object A : B({
variableName1 = "text1"
variableName2 = "text2"

params {
param("Foo", "Bar")
}
})

而且我无法弄清楚 B 类的构造函数的参数是什么。

在这个例子中我有目的地抽象了信息,但 B 类实际上是

jetbrains.buildServer.configs.kotlin.v10.BuildType

而且我找不到该类型的文档。 I have found something that was close但它是接口(interface)的定义,因此没有构造函数。

总而言之,Kotlin 中的以下构造是什么?

{
variableName1 = "text1"
variableName2 = "text2"

params {
param("Foo", "Bar")
}
}

最佳答案

这个结构叫做 "Lambda with Receiver" ,又名“Function Literal with Receiver”,您会发现它广泛用于 Kotlin DSL 实现。例如,查看 HTML builder DSL .

我在 this 中详细描述了整个概念。线程。

关于lambda - "Lambda with Receiver": What is this Kotlin construct?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46705498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com