我对Kotlin非常陌生,我遇到了这两种表达方式:
Car(name = "CarName")
和
car {
name = "CarName"
}
关于什么时候应该使用哪一种方法,有什么指导方针吗?医生们在这一点上似乎不太清楚。
发布于 2017-06-23 06:34:40
第二个片段是如何为您的域构建DSL的一个示例。对于这种简单的情况,创建DSL有点过分,但是当对象变得更大时,设计DSL可能会更干净。
事实上,使用DSL样式创建简单的实例甚至可能令人困惑。
例如,DSLs文档显示了以下代码:
fun result(args: Array<String>) =
html {
head {
title {+"XML encoding with Kotlin"}
}
body {
h1 {+"XML encoding with Kotlin"}
p {+"this format can be used as an alternative markup to XML"}
// an element with attributes and text content
a(href = "http://kotlinlang.org") {+"Kotlin"}
// mixed content
p {
+"This is some"
b {+"mixed"}
+"text. For more see the"
a(href = "http://kotlinlang.org") {+"Kotlin"}
+"project"
}
p {+"some text"}
// content generated by
p {
for (arg in args)
+arg
}
}
}
这是您何时可以使用DSL的一个很好的例子:语法为您创建模型的方式提供了一个清晰的结构。另一方面,安科提供了一个DSL来定义UI。
https://stackoverflow.com/questions/44714149
复制相似问题