Kotlin Builder vs构造函数

我对Kotlin很新,而且我也遇到了这两种表示:

Car(name = "CarName") 

 car { name = "CarName" } 

有没有关于什么时候应该使用的指导方针? 这个文件似乎不太清楚。

第二个片段就是如何为您的域建立DSL的一个例子。 对于这样的简单情况,创建一个DSL有点矫枉过正,但是当对象变大时,设计一个DSL可能会更清晰。
事实上,使用DSL风格来创建简单的实例可能会令人困惑。

例如, 有关DSL的文档显示以下代码:

 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时,这是一个很好的例子:这个语法可以为你建立模型创建一个干净的结构。 另一个Anko提供了一个DSL来定义UI的。