Zig Academy · Lektion

Text mit std.fmt formatieren

Erstellen Sie Strings mit Formatspezifizierern.

Lektion 4 von 413 Schritte

Text mit std.fmt formatieren ist eine kostenlose Zig 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 Zig Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum Formatierung

In echten Programmen werden Werte zu Text zusammengesetzt: Namen, Anzahlen, Preise. Zig erledigt das mit std.fmt und dessen Mini-Sprache für Format-Strings.

Platzhalter in geschweiften Klammern

Ein Format-String verwendet {} als Platzhalter. Jedes Klammernpaar nimmt das nächste Argument aus dem Tupel, das Sie daneben übergeben.

std.debug.print("x = {}\n", .{42});

Argumente kommen in ein Tupel

Sie übergeben Argumente als anonymes Tupel, geschrieben als .{ a, b }. Auch ein einzelnes Argument steht innerhalb dieser Tupelhülle.

std.debug.print("{} {}\n", .{1, 2});

String-Spezifizierer

Geben Sie einen []const u8 als Text mit {s} aus. Ein einfaches {} würde stattdessen versuchen, den Slice als Struktur aus Zeiger und Länge zu formatieren.

std.debug.print("{s}\n", .{"hi"});

Zahlensysteme

Steuern Sie die Basis einer Ganzzahl mit Spezifizierern wie {x} für Hexadezimal, {b} für Binär und {o} für Oktal. Ideal zum Debuggen auf niedriger Ebene.

std.debug.print("{x}\n", .{255}); // ff

Breite und Auffüllen

Füllen Sie einen Wert mithilfe eines Doppelpunkts auf eine feste Breite auf, etwa mit {d:5}. So werden Zahlen ordentlich in übersichtlichen Spalten ausgerichtet.

std.debug.print("{d:5}\n", .{7});

Genauigkeit von Gleitkommazahlen

Begrenzen Sie die Dezimalstellen mit einem Genauigkeitsfeld wie {d:.2}. Dadurch werden genau zwei Ziffern nach dem Dezimalpunkt ausgegeben.

std.debug.print("{d:.2}\n", .{3.14159});

Eine geschweifte Klammer maskieren

Benötigen Sie eine geschweifte Klammer als Literal in Ihrer Ausgabe? Verdoppeln Sie sie: {{ gibt eine einzelne { aus, und }} gibt eine einzelne } aus. So vermeiden Sie Verwechslungen mit Platzhaltern.

std.debug.print("{{x}}\n", .{});

Einen String erstellen

Um in den Speicher statt nach stdout zu formatieren, rufen Sie std.fmt.allocPrint auf. Die Funktion reserviert Speicher und gibt ein neues []u8 mit Ihrem Text zurück.

const s = try std.fmt.allocPrint(
    alloc, "id={}", .{id});

Allokierten Speicher freigeben

Da allocPrint einen Allocator verwendet, besitzen Sie das Ergebnis und müssen es freen. Ein defer direkt nach dem Aufruf sorgt für eine übersichtliche Bereinigung.

defer alloc.free(s);

Feste Puffer mit bufPrint

Wenn Sie vollständig auf den Heap verzichten möchten, schreiben Sie mit std.fmt.bufPrint in Ihr eigenes Array. Die Funktion gibt den tatsächlich verwendeten, ausgefüllten Slice zurück.

var buf: [16]u8 = undefined;
const out = try std.fmt.bufPrint(&buf, "{}", .{9});

Kurze Überprüfung

Sie geben einen []const u8-Wert aus und möchten ihn als lesbaren Text anzeigen.

Zusammenfassung

Sie haben Text mit std.fmt formatiert: mit den Platzhaltern {} und {s}, Basis, Breite und Genauigkeit sowie mit allocPrint und bufPrint für Strings. 🎨

Kostenlos starten

Lerne Zig mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Text mit std.fmt formatieren“ kostenlos?

Ja — der vollständige Text von „Text mit std.fmt formatieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Zig Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Text mit std.fmt formatieren“?

Erstellen Sie Strings mit Formatspezifizierern. Du übst Zig 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 Zig Academy zu starten?

Keine Vorkenntnisse erforderlich. Zig 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 „Text mit std.fmt formatieren“?

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 Zig Academy-Lektion Code schreiben und ausführen?

Ja. Jede Zig 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

  1. Strings sind []const u8
  2. String-Literale und Escape-Sequenzen
  3. Bytes vergleichen und durchsuchen
  4. Text mit std.fmt formatieren
← Zurück zu Zig Academy