Ownership und Borrowing
Rust Slices: &str and &[T]
Borrow part of a string or array without copying a single byte.
Das lernst du
- String slices
- Array slices
- Returning a slice
&numbers[1..4]
100
201
302
403
504
A view of part of a collection
A slice is a reference to a continuous part of a collection. &text[0..5] borrows the first five bytes of a string, and &numbers[1..4] borrows three items of an array.
first_word returns a slice of the text it was given, so nothing is copied. find returns the position of the first space, or None when there is none. A slice of an array works the same way and has methods such as iter and len.
Das Wichtigste
- &
text[0..5]borrows the first five bytes. - A slice does not copy the data.
- &
numbers[1..4]has three items.
Ausführbares Rust-Beispiel
Rust
main.rs
fn first_word(text: &str) -> &str {
match text.find(' ') {
Some(index) => &text[..index],
None => text,
}
}
fn main() {
let sentence = String::from("ownership makes Rust safe");
println!("{}", first_word(&sentence));
println!("{}", &sentence[10..15]);
let numbers = [10, 20, 30, 40, 50];
let middle = &numbers[1..4];
println!("{:?} sum = {}", middle, middle.iter().sum::<i32>());
}
ownership
makes
[20, 30, 40] sum = 90Üben
Öffne das Beispiel im Online-Compiler, ändere einen Wert oder füge eine Zeile hinzu und sage die Ausgabe voraus, bevor du es ausführst. Bring den Code danach absichtlich zum Scheitern und lies die Meldung des Compilers.
Lektion fertig?
Markiere sie als gelernt, um deinen Fortschritt zu verfolgen.
Dein Fortschritt ist in diesem Browser gespeichert Melde dich an, um ihn auf jedem Gerät zu behalten.
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
- Längstes Wort Finde das längste Wort in einem Satz. Einfach
- Every Other Character Keep the characters at even positions. Einfach