0Pricing
Learn Rust Coding · Lektion

Vektoren erstellen und füllen

Erstellen Sie Vecs und fügen Sie Elemente mit push hinzu.

Vektoren erstellen und füllen ist eine kostenlose Learn Rust Coding-Lektion auf CoddyKit. Dies ist Lektion 1 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 Learn Rust Coding-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn Rust Coding-Kurs umfasst insgesamt 4 Lektionen.

Was ist ein Vektor?

Ein Vektor ist eine vergrößerbare Liste von Werten desselben Typs. Anders als ein Array fester Größe kann ein Vektor während der Programmausführung wachsen oder schrumpfen.

In Rust wird der Typ als Vec<T> geschrieben, wobei T den Typ der enthaltenen Elemente bezeichnet, etwa Vec<i32> für Ganzzahlen.

Ein leerer Vektor

Mit Vec::new() können Sie einen neuen, leeren Vektor erstellen. Da er noch keine Werte enthält, kann Rust den Elementtyp nicht ableiten, deshalb geben Sie ihn normalerweise explizit an.

Hier teilen wir Rust mit, dass dieser Vektor i32-Ganzzahlen enthalten wird.

fn main() {
    let v: Vec<i32> = Vec::new();
    println!("len = {}", v.len());
}

Das vec!-Makro

Am schnellsten erstellen Sie einen Vektor mit Anfangswerten mit dem vec!-Makro. Schreiben Sie die Werte in eckige Klammern.

Rust leitet den Elementtyp aus den Werten ab, daher ist hier keine Typangabe erforderlich.

fn main() {
    let nums = vec![10, 20, 30];
    println!("{:?}", nums);
}

Einen Vektor ausgeben

Ein vollständiger Vektor wird mit dem Debug-Formatter {:?} ausgegeben, nicht mit dem normalen {}. Die Debug-Darstellung zeigt die Werte in eckigen Klammern.

Verwenden Sie {:#?} für eine übersichtliche Darstellung über mehrere Zeilen, wenn ein Vektor groß ist.

fn main() {
    let names = vec!["Ann", "Bo", "Cy"];
    println!("{:?}", names);
}

Werte hinzufügen

Um einen Wert am Ende eines Vektors hinzuzufügen, rufen Sie push auf. Der Vektor muss als mut deklariert sein, da er durch das Hinzufügen verändert wird.

Jeder Aufruf von push fügt ein Element an und erhöht die Länge um eins.

fn main() {
    let mut v = Vec::new();
    v.push(1);
    v.push(2);
    v.push(3);
    println!("{:?}", v);
}

Typ aus dem ersten Push ableiten

Wenn Sie mit Vec::new() ohne Typangabe beginnen, wartet Rust auf den ersten Aufruf von push, um den Elementtyp zu ermitteln.

Das Hinzufügen von 3.5 teilt Rust mit, dass es sich um einen Vec<f64> handelt. Alle späteren Werte müssen diesem Typ entsprechen.

fn main() {
    let mut prices = Vec::new();
    prices.push(3.5);
    prices.push(9.0);
    println!("{:?}", prices);
}

Mit Wiederholungen füllen

Das vec!-Makro kann einen Wert wiederholen. Schreiben Sie vec![value; count], um einen Vektor zu erstellen, der diesen Wert count-mal enthält.

Das ist praktisch, um eine Liste mit Nullen oder Standardwerten zu initialisieren.

fn main() {
    let zeros = vec![0; 5];
    println!("{:?}", zeros);
}

In einer Schleife füllen

Sie können einen Vektor füllen, indem Sie innerhalb einer Schleife Werte hinzufügen. Hier fügen wir die Quadrate der Zahlen 1 bis 4 hinzu.

Mit einem leeren Vektor zu beginnen und ihn nach und nach zu füllen, ist ein verbreitetes Muster, wenn die Werte berechnet werden.

fn main() {
    let mut squares = Vec::new();
    for n in 1..=4 {
        squares.push(n * n);
    }
    println!("{:?}", squares);
}

Kapazität und Länge

Die Länge gibt an, wie viele Elemente ein Vektor momentan enthält. Die Kapazität gibt an, wie viel Speicher reserviert ist, bevor der Vektor weiteren Speicher benötigt.

Wenn Sie ungefähr wissen, wie viele Elemente Sie hinzufügen werden, reserviert Vec::with_capacity(n) den Speicher im Voraus und vermeidet wiederholte Neuzuweisungen.

fn main() {
    let mut v = Vec::with_capacity(10);
    v.push(1);
    println!("len {}, cap {}", v.len(), v.capacity());
}

Aus einem Array

Sie können ein Array in einen Vektor umwandeln. Eine einfache Möglichkeit ist .to_vec(); dabei werden die Elemente des Arrays in einen neuen eigenen Vektor kopiert.

Das ist nützlich, wenn Sie mit festen Daten beginnen, die später wachsen müssen.

fn main() {
    let arr = [1, 2, 3];
    let v = arr.to_vec();
    println!("{:?}", v);
}

Prüfen, ob der Vektor leer ist

Verwenden Sie is_empty(), um zu prüfen, ob ein Vektor keine Elemente enthält. Die Methode gibt einen booleschen Wert zurück und ist aussagekräftiger, als die Länge mit null zu vergleichen.

Das ist eine gute Absicherung, bevor Sie das erste Element lesen.

fn main() {
    let v: Vec<i32> = Vec::new();
    if v.is_empty() {
        println!("nothing here yet");
    }
}

Kurze Überprüfung

Testen Sie Ihr Verständnis vom Erstellen und Füllen von Vektoren.

Zusammenfassung

Sie haben gelernt, Vektoren mit Vec::new() und dem vec!-Makro zu erstellen und sie mit push, Wiederholungen, Schleifen und to_vec() zu füllen.

Außerdem haben Sie den Unterschied zwischen Länge und Kapazität kennengelernt und gesehen, wie man prüft, ob ein Vektor leer ist. Als Nächstes lesen Sie Vektorwerte und durchlaufen sie in Schleifen.

Häufig gestellte Fragen

Ist die Lektion „Vektoren erstellen und füllen“ kostenlos?

Ja — der vollständige Text von „Vektoren erstellen und füllen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn Rust Coding-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn Rust Coding-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Vektoren erstellen und füllen“?

Erstellen Sie Vecs und fügen Sie Elemente mit push hinzu. Du übst Learn Rust Coding 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 Learn Rust Coding zu starten?

Keine Vorkenntnisse erforderlich. Learn Rust Coding 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 1 von 4.

Wie lange dauert die Lektion „Vektoren erstellen und füllen“?

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 Learn Rust Coding-Lektion Code schreiben und ausführen?

Ja. Jede Learn Rust Coding-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. Vektoren erstellen und füllen
  2. Indizieren und iterieren
  3. Vergrößern und verkleinern
  4. Vektoren aus Structs
← Zurück zu Learn Rust Coding