Kontrollfluss in Rust folgt einer durchgehenden Designentscheidung: fast alles ist eine Expression. if, match, loop, sogar Blöcke liefern Werte. Das ergibt einen Stil, in dem Bedingungen direkt an Bindungen gehängt werden, Schleifen Werte über break zurückgeben und Pattern-Matching keine getrennte Welt ist. Dazu kommen zwei weitere Schleifen-Konstrukte (while, for) und die Pattern-Shortcuts if let/let else, die häufige Match-Fälle elegant abkürzen. Dieses Kapitel führt durch jedes Konstrukt einzeln und zeigt, wie sie zu idiomatischem Rust-Code kombiniert werden.

Was dich erwartet

  • if als Expression — warum let x = if cond { a } else { b }; idiomatisch ist und welche Typ-Regeln dahinter stehen.
  • loop mit Wert-Rückgabe — die einzige Schleife mit break <wert>-Form. Endlos-Schleifen mit garantierter Termination per break.
  • while — Bedingungs-basierte Schleife. Plus die while let-Variante für Pattern-getriebene Iteration.
  • for und Range — die idiomatische Iteration. for arbeitet auf jedem IntoIterator, von Range über Vec bis zu eigenen Iteratoren.
  • break, continue, Labels — Schleifen vorzeitig beenden oder Iteration überspringen, mit Labels gezielt in verschachtelten Strukturen.
  • if let und let else — Pattern-Matching ohne vollständiges match. Der idiomatische Weg, ein Option oder Result punktuell zu entpacken.

Was du nach diesem Kapitel kannst

  • Bedingungen idiomatisch als Expressions schreiben, ohne return zu missbrauchen.
  • Schleifen wählen — loop für „bis ein Wert da ist", while für Bedingungen, for für Sequenzen.
  • Verschachtelte Schleifen mit Labels gezielt steuern.
  • Option und Result über if let und let else elegant entpacken, ohne tiefe Verschachtelung.
  • Patterns wie Early-Return, Block-Initialisierung und expression-orientierte Schleifen einsetzen.

Das nächste Kapitel geht um Funktionen — Parameter, Rückgabe, Expression-vs-Statement-Regeln und divergierende Funktionen mit !-Return.

Weiterführende Ressourcen

Externe Quellen

/ Weiter

Zurück zu Kontrollfluss

Zur Übersicht