In Rust gibt es verschiedene Möglichkeiten, eine Sammlung von Werten zu speichern. Die gebräuchlichsten Typen für solche Sammlungen sind Arrays und Vektoren (Vec), die jeweils unterschiedliche Eigenschaften und Einsatzmöglichkeiten haben.
Dieses Tutorial zeigt, wie Arrays und Vektoren in Rust verwendet werden, was ihre Unterschiede sind und wie man sie in Programmen effizient einsetzt.
Arrays und Vektoren sind die grundlegenden Datentypen in Rust, wenn es um die Speicherung von Listen geht. Arrays sind effizient für fixe Datenmengen, während Vektoren (Vec) für dynamisch wachsende oder schrumpfende Listen ideal sind. Rusts strikte Regeln zum Borrowing und Ownership helfen dabei, Fehler in der Speicherverwaltung zu vermeiden und die Sicherheit zur Laufzeit zu gewährleisten.
Ein Array ist eine feste, unveränderliche Sammlung von Werten desselben Typs. Die Größe eines Arrays wird zur Kompilierungszeit festgelegt und kann später nicht mehr geändert werden.
Beispiel: Array erstellen
fn main() {
let numbers: [i32; 5] = [1, 2, 3, 4, 5];
println!("{:?}", numbers);
}
In diesem Beispiel wird ein Array numbers
erstellt, das aus fünf Ganzzahlen (i32
) besteht. Die Größe [i32; 5]
gibt an, dass das Array fünf Elemente hat.
0
.Beispiel: Zugriff auf Array-Elemente
fn main() {
let numbers = [1, 2, 3, 4, 5];
println!("Erstes Element: {}", numbers[0]);
println!("Drittes Element: {}", numbers[2]);
}
Rust überprüft, ob der Index innerhalb der Array-Grenzen liegt. Wenn versucht wird, auf einen ungültigen Index zuzugreifen, wird das Programm mit einem Panik-Fehler beendet.
Ein Vektor (Vec<T>
) in Rust ist eine dynamisch veränderbare Liste von Elementen. Im Gegensatz zu Arrays kann die Größe eines Vektors zur Laufzeit geändert werden, indem Elemente hinzugefügt oder entfernt werden.
Beispiel: Vektor erstellen
fn main() {
let mut numbers = Vec::new();
numbers.push(1);
numbers.push(2);
numbers.push(3);
println!("{:?}", numbers);
}
In diesem Beispiel wird ein leerer Vektor numbers
erstellt, und dann werden Elemente mit der Methode push
hinzugefügt.
mut
deklariert werden, wenn er verändert werden soll.Beispiel: Zugriff auf Vektorelemente
fn main() {
let numbers = vec![10, 20, 30, 40];
println!("Zweites Element: {}", numbers[1]);
}
Beispiel: Elemente entfernen
fn main() {
let mut numbers = vec![1, 2, 3, 4];
numbers.pop(); // Letztes Element entfernen
println!("{:?}", numbers); // Gibt: [1, 2, 3]
}
fn main() {
let array = [1, 2, 3]; // Festes Array
let mut vector = vec![1, 2, 3]; // Dynamischer Vektor
vector.push(4); // Hinzufügen eines Wertes (nur bei Vec)
println!("{:?}", array);
println!("{:?}", vector);
}
Sowohl über Arrays als auch über Vektoren kann mit einer for-Schleife iteriert werden.
Beispiel: Iteration über ein Array
fn main() {
let numbers = [10, 20, 30];
for num in numbers.iter() {
println!("Wert: {}", num);
}
}
Beispiel: Iteration über einen Vektor
fn main() {
let numbers = vec![5, 10, 15];
for num in &numbers {
println!("Wert: {}", num);
}
}
Bei Vektoren wird eine Referenz &numbers
verwendet, um sicherzustellen, dass der Vektor nicht konsumiert wird und weiterhin verwendet werden kann.
Finden Sie interessante und zum Thema passende Kurse
Dieses 5-tägige Rust-Seminar bietet eine fundierte Einführung in die Grundlagen von Rust, darunter Speicherverwaltung (Ownership, Borrowing), der Standardbibliothek und Fehlerbehandlung. Die Teilnehmer lernen, wie man sauberen und sicheren Rust-Code schreibt, Module importiert und die umfangreichen Funktionen der Rust-Standardbibliothek nutzt.
5 Tage Vollzeit Online
Nächster Termin: 20. Januar 2025
Preis pro Person: 1900,00 EUR
Rabattaktion: 3 für den Preis von 2!
In diesem Seminar lernen Sie, was Container sind, wie Sie sie erstellen und verwalten und wie Sie Docker in Ihren Projekten nutzen können. Ziel ist es, Docker von Grund auf zu verstehen und in realen Projekten anwenden zu können.
2 Tage Vollzeit Online
Nächster Termin: 16. Dezember 2024
Preis pro Person: 900,00 EUR
Rabattaktion: 3 für den Preis von 2!
In unserem 3-Tages Git & GitHub Einführungskurs erlernen Sie den effektiven Umgang mit Git und GitHub, der führenden Plattform für Versionskontrolle und Kollaboration. Von den ersten Commits bis zu fortgeschrittenen Branching-Strategien und Pull Requests bietet der Kurs eine umfassende Einführung. Sie werden praxisnah GitHub-Workflows anwenden, Merges und Konflikte lösen sowie Releases verwalten. Hands-on Aufgaben vertiefen Ihr Wissen und bereiten Sie darauf vor, Git und GitHub sicher in Ihren Projekten einzusetzen. Dieser Kurs richtet sich sowohl an Einsteiger als auch an Entwickler, die ihre GitHub-Kenntnisse erweitern möchten.
3 Tage Vollzeit Online
Nächster Termin: 24. März 2025
Preis pro Person: 1200,00 EUR
Rabattaktion: 3 für den Preis von 2!