String-Vorlagen

Eine String-Vorlage ist eine programmatische Methode, um einen String zu 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] $answer ersetzt den Wert von answer.
  • [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.