String-Vorlagen
Eine
String-Vorlage ist eine programmatische Methode, um einenStringzu erzeugen.
Wenn Sie ein $ vor einen Bezeichnernamen setzen, fügt die String-Vorlage den Inhalt dieses Bezeichners in den String ein:
// StringTemplates/StringTemplates.kt
fun main() {
val answer = 42
println("Found $answer!") // [1]
println("printing a $1") // [2]
}
/* Output:
Found 42!
printing a $1
*/
-
[1]
$answerersetzt den Wert vonanswer. -
[2] Wenn dem
$nichts folgt, das als Programmbezeichner erkennbar ist, passiert nichts Besonderes.
Man kann auch Werte in einen String einfügen, indem man die Verkettung (+) verwendet:
// StringTemplates/StringConcatenation.kt
fun main() {
val s = "hi\n" // \n is a newline character
val n = 11
val d = 3.14
println("first: " + s + "second: " +
n + ", third: " + d)
}
/* Output:
first: hi
second: 11, third: 3.14
*/
Das Platzieren eines Ausdrucks innerhalb von ${} wertet ihn aus. Der Rückgabewert wird in einen String umgewandelt und in den resultierenden String eingefügt:
// StringTemplates/ExpressionInTemplate.kt
fun main() {
val condition = true
println(
"${if (condition) 'a' else 'b'}") // [1]
val x = 11
println("$x + 4 = ${x + 4}")
}
/* Output:
a
11 + 4 = 15
*/
-
[1]
if(condition) 'a' else 'b'wird ausgewertet und das Ergebnis wird durch den gesamten${}Ausdruck ersetzt.
Wenn eine Zeichenkette ein Sonderzeichen enthalten muss, wie zum Beispiel ein Anführungszeichen, können Sie entweder dieses Zeichen mit einem \ (Backslash) entkommen, oder Sie verwenden ein Zeichenkette Literal in dreifachen Anführungszeichen:
// StringTemplates/TripleQuotes.kt
fun main() {
val s = "value"
println("s = \"$s\".")
println("""s = "$s".""")
}
/* Output:
s = "value".
s = "value".
*/
Mit dreifachen Anführungszeichen fügen Sie einen Wert eines Ausdrucks auf die gleiche Weise ein wie bei einem einfach-quotierten String.
Übungen und Lösungen finden Sie unter www.AtomicKotlin.com.