56 lines
1.8 KiB
Rust
56 lines
1.8 KiB
Rust
fn main() {
|
|
// Dieser String ist ein String Slice, welcher eine unveränderliche Referenz auf einen bestehenden String ist
|
|
println!("Strings:\n-----");
|
|
let string: &str = "Das ist ein String.";
|
|
println!("{string}");
|
|
|
|
// Ein im Heap allokierter, veränderlicher und besitzender String, mehr dazu später
|
|
let string = String::from("Das ist auch ein String.");
|
|
println!("{string}");
|
|
|
|
println!("\nTupel:\n-----");
|
|
let tupel = (42, "Das hier ist ein Tupel.", true);
|
|
let (a, b, c) = tupel;
|
|
println!("{}, {}, {}", a, b, c);
|
|
|
|
println!("\nArrays und Slices:\n-----");
|
|
let array: [&str; 5] = ["Das", " ist", " ein", " Array", "."]; // Es wird explizit geschrieben, welche Größe es hat
|
|
println!("{:?}", array);
|
|
|
|
let array = [1, 2, 3, 4, 5, 6]; // Größe wird dynamisch bestimmt
|
|
println!("{:?}", array);
|
|
let element = array[0]; // Man kann die Elemente wie gewohnt ansprechen
|
|
println!("{}", element);
|
|
|
|
println!("{}", array.len()); // Länge kann ausgegeben werden
|
|
|
|
let ganzer_slice = &array; // Ein Slice, der auf das angegebene Array zeigt
|
|
let teil_slice = &array[1..4]; // Ein Slice, der nur auf ein bestimmten Teil des Arrays zeigt
|
|
|
|
println!("{:?}", ganzer_slice);
|
|
println!("{:?}", teil_slice);
|
|
|
|
println!("\nVektoren:\n-----");
|
|
let mut vektor = vec![1, 2, 3]; // Ein Vektor, dessen Einträge dynamisch verringert oder vergößert werden kann
|
|
println!("{:?}", vektor);
|
|
|
|
// Einige Methoden, die man auf Vektoren anwenden kann
|
|
vektor.push(4);
|
|
println!("{:?}", vektor);
|
|
|
|
vektor.insert(2, 20); // (index, wert)
|
|
println!("{:?}", vektor);
|
|
|
|
vektor.extend(array);
|
|
println!("{:?}", vektor);
|
|
|
|
vektor.remove(2);
|
|
println!("{:?}", vektor);
|
|
|
|
vektor.pop();
|
|
println!("{:?}", vektor);
|
|
|
|
vektor.clear();
|
|
println!("{:?}", vektor);
|
|
}
|