Ich habe diesen Code in der Rust-Dokumentation gesehen:
%Vor% Was bedeutet &
in &self
?
Das bedeutet, dass Sie eine Referenz an das Objekt übergeben, anstatt das Objekt selbst zu verschieben. Es ist wichtig, dies zu unterscheiden, denn wenn Ihre Funktion wie folgt aussieht:
%Vor%und Sie haben versucht, dann mit der Variablen aufzurufen, nachdem Sie eine Fehlermeldung erhalten haben
%Vor%: Wenn Sie &
nicht angeben, verschiebt rost den Wert in die Funktion, und Ihre ursprüngliche Bindung hat keine Eigentumsrechte mehr. schau dir dieses minimale Beispiel an, das ich erstellt habe ( Spielplatzversion ):
Schalten Sie nun something
so um, dass vor eat
aufgerufen wird. Da something
nur eine Referenz akzeptiert, hat g
immer noch Besitzrechte und Sie können weitermachen. eat
hingegen verschiebt g
und Sie können g
nicht mehr verwenden.