Benutzerdefinierte String-Interpolation
Erweitern Sie die Interpolation um eigene Segmente.
Benutzerdefinierte String-Interpolation ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Benutzerdefinierte String-Interpolation
Swift ermöglicht es Ihnen, die Funktionsweise der Interpolation zu erweitern, indem Sie Methoden zu String.StringInterpolation hinzufügen. Damit können Sie festlegen, was für bestimmte Argumenttypen oder Bezeichnungen geschieht.
extension String.StringInterpolation {
mutating func appendInterpolation(shout value: String) {
appendLiteral(value.uppercased() + "!")
}
}
print("Message: \(shout: "hello")")Die Methode appendInterpolation
Jede benutzerdefinierte Interpolation ist eine mutating func appendInterpolation(...). Ihre Parameter legen fest, was Sie zwischen den Klammern in einer Zeichenkette schreiben.
extension String.StringInterpolation {
mutating func appendInterpolation(repeat text: String, times: Int) {
appendLiteral(String(repeating: text, count: times))
}
}
print("\(repeat: "ab", times: 3)")appendLiteral und appendInterpolation
Innerhalb einer benutzerdefinierten Methode erstellen Sie die Ausgabe, indem Sie appendLiteral für normalen Text aufrufen und vorhandene Interpolationen für Werte wiederverwenden.
extension String.StringInterpolation {
mutating func appendInterpolation(twice value: Int) {
appendLiteral("\(value)\(value)")
}
}
print("\(twice: 7)")Benannte Interpolationsargumente
Die Bezeichnung des ersten Parameters wird zum Schlüsselwort, das Sie verwenden, etwa \(shout: ...). Dadurch wird die Absicht an der Aufrufstelle deutlich.
extension String.StringInterpolation {
mutating func appendInterpolation(currency amount: Double) {
appendLiteral(String(format: "$%.2f", amount))
}
}
print("Price: \(currency: 9.5)")Mehrere Parameter
Benutzerdefinierte Interpolationen können mehrere Parameter annehmen, sodass Sie neben dem Wert auch Optionen übergeben können.
extension String.StringInterpolation {
mutating func appendInterpolation(_ value: Double, places: Int) {
appendLiteral(String(format: "%.\(places)f", value))
}
}
print("\(3.14159, places: 2)")Werte formatieren
Eine häufige Anwendung besteht darin, einen Wert auf domänenspezifische Weise darzustellen, etwa indem eine Zahl auf eine feste Breite aufgefüllt wird.
extension String.StringInterpolation {
mutating func appendInterpolation(padded value: Int, width: Int) {
appendLiteral(String(format: "%0\(width)d", value))
}
}
print("ID: \(padded: 42, width: 5)")Bedingte Ausgabe
Eine benutzerdefinierte Interpolation kann Logik enthalten und abhängig von der Eingabe unterschiedlichen Text erzeugen.
extension String.StringInterpolation {
mutating func appendInterpolation(yesNo flag: Bool) {
appendLiteral(flag ? "Yes" : "No")
}
}
print("Active: \(yesNo: true)")Vorhandene Interpolationen wiederverwenden
Innerhalb Ihrer Methode können Sie appendInterpolation für integrierte Typen aufrufen und so auf dem Standardverhalten aufbauen.
extension String.StringInterpolation {
mutating func appendInterpolation(bracketed value: Int) {
appendLiteral("[")
appendInterpolation(value)
appendLiteral("]")
}
}
print("\(bracketed: 9)")Standardwerte für Parameter
Benutzerdefinierte Interpolationen können Parameter mit Standardwerten versehen, sodass Aufrufer diese weglassen können.
extension String.StringInterpolation {
mutating func appendInterpolation(money value: Double, symbol: String = "$") {
appendLiteral(symbol + String(format: "%.2f", value))
}
}
let sym = "EUR "
print("\(money: 5.0)")
print("\(money: 5.0, symbol: sym))")Wann benutzerdefinierte Interpolation sinnvoll ist
Verwenden Sie benutzerdefinierte Interpolation, wenn ein Formatierungsmuster in Ihrem Code wiederholt vorkommt. So zentralisieren Sie die Logik hinter einer übersichtlichen Aufrufstelle.
extension String.StringInterpolation {
mutating func appendInterpolation(stars n: Int) {
appendLiteral(String(repeating: "*", count: n))
}
}
print("Rating: \(stars: 4)")Zusammenfassung der benutzerdefinierten Interpolation
Indem Sie String.StringInterpolation erweitern, verwandeln Sie sich wiederholende Formatierungen in eine lesbare, wiederverwendbare Syntax, die direkt in Ihre Zeichenketten eingebettet ist.
extension String.StringInterpolation {
mutating func appendInterpolation(percent value: Double) {
appendLiteral(String(format: "%.0f%%", value * 100))
}
}
print("Done: \(percent: 0.75)")Kurzer Test
Rufen Sie sich den Mechanismus hinter der benutzerdefinierten Interpolation in Erinnerung.
Zusammenfassung: Benutzerdefinierte String-Interpolation
Sie haben gelernt, dass Sie durch das Erweitern von String.StringInterpolation mit appendInterpolation-Methoden neue Interpolationssyntax definieren können. Mit appendLiteral und verschachtelten Interpolationen erstellen Sie die Ausgabe und können dabei Bezeichnungen, mehrere Parameter und Standardwerte für eine saubere, wiederverwendbare Formatierung verwenden.
extension String.StringInterpolation {
mutating func appendInterpolation(upper value: String) {
appendLiteral(value.uppercased())
}
}
print("Hello \(upper: "swift")")Häufig gestellte Fragen
Ist die Lektion „Benutzerdefinierte String-Interpolation“ kostenlos?
Ja — der vollständige Text von „Benutzerdefinierte String-Interpolation“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Benutzerdefinierte String-Interpolation“?
Erweitern Sie die Interpolation um eigene Segmente. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Swift Academy zu starten?
Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Benutzerdefinierte String-Interpolation“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?
Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlagen der String-Interpolation
- Zahlen in Strings formatieren
- Mehrzeilige String-Literale
- Benutzerdefinierte String-Interpolation