Zum Inhalt springen

Typen

#[derive(Debug)]
struct Rectangle {
width: u32,
height: u32,
}
fn main() {
let rect1 = Rectangle {
width: 30,
height: 50,
};
let a = area(rect1);
println!("{} * {} = {}", rect1.width, rect1.height, a);
}
fn area(rectangle: Rectangle) -> u32 {
rectangle.width * rectangle.height
}

Die Funktion area übernimmt die Ownership ihres Arguments rectangle. Der Aufruf von area(rect1) verschiebt daher rect1, was bedeutet, dass es in der nächsten Zeile nicht mehr verwendet werden kann.


Welche Aussage beschreibt am besten einen Unterschied zwischen den Display- und Debug-Traits?