Ich folgte diesem Link https://kotlin.link/articles/DSL-builder-in-Kotlin.html, um die Builder-Implementierung in Kotlin zu verstehen. Ich habe die Methoden in der Builder-Klasse nicht verstanden. Die Methode name()
empfängt die Extension-Funktion als ein Argument, das nichts empfängt und String zurückgibt. Und der Anrufer ruft name { "ABC" }
. Wenn der Aufrufer String an die Methode name
übergibt, wie wird dies in eine Extension-Methode übersetzt, die String zurückgibt?Erläuterung zu Funktionsliteral mit Empfänger in Kotlin
Ich versuchte, Kotlin-Dokumentation für Funktionsliterale mit Empfängern zu folgen, aber alle hatten Proben, die Unit
zurückgibt oder sich auf DSL-Builder bezieht. Ich habe versucht, es zu googeln, um zu verstehen, aber kein Glück, das Konzept zu verstehen.