it-praxisportal/courses/rust/03_slices_und_lifetimes_grundlagen
Alex Mueller 2571cb8847 feat(ux): responsive kurs-sidebar und kapitel-drawer für alle 13 kurse & web-ide
- Dynamic Sidebar mit window.COURSES_MANIFEST für 13 Kurse (216 Kapitel)
- Kurswechsler Dropdown mit Direktnavigation
- Fortschrittsanzeige mit Solved-Checkmarks (✓) aus localStorage
- Responsive Off-Canvas Drawer mit Floating Action Button (☰ Kapitel) & Backdrop auf Mobile/Tablets
- Web-IDE Topbar Drawer-Button (☰ Kapitel) für unterbrechungsfreien Vollbild-Editor
- Saubere Bereinigung redundanter statischer Legacy-Sidebars
2026-09-12 13:49:46 +02:00
..
aufgabe.rs IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00
index.html feat(ux): responsive kurs-sidebar und kapitel-drawer für alle 13 kurse & web-ide 2026-09-12 13:49:46 +02:00
musterloesung.rs IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00
README.md IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00
test_aufgabe.rs IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00

Rust 03: Slices & Lifetimes Grundlagen 🦀

Willkommen zu Modul 03!


💡 1. Kerninhalte

Slices (&str & &[T])

  • Ein Slice ist ein Fat Pointer (Start-Zeiger + Länge) ohne Eigentümerschaft (Ownership).
  • String Slices: &str – Verweisen auf UTF-8 Bytefolgen in String oder Programmcode (&'static str).
  • Slice Slices: &[i32] – Verweisen auf Teilstücke von Arrays oder Vektoren.

Lifetimes & Borrow Checker

  • Verhindern hängende Referenzen (Dangling Pointers).
  • Funktionssignaturen mit mehreren Referenzen deklarieren Lifetimes mit 'a.
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
    if x.len() >= y.len() { x } else { y }
}

🎯 Teilziele in aufgabe.rs

  • TODO 1: first_word(s: &str) -> &str
  • TODO 2: sum_slice(numbers: &[i32]) -> i32
  • TODO 3: get_subslice(arr: &[u32], start: usize, len: usize) -> &[u32]
  • TODO 4: longest_str<'a>(x: &'a str, y: &'a str) -> &'a str
  • TODO 5: strip_prefix_slice<'a>(haystack: &'a str, prefix: &str) -> Option<&'a str>