Rust ownership és borrowing érthetően
Tulajdonjog, move, kölcsönzés és lifetime: tanulási útmutató működő példákkal és az E0382/E0502 hibák javításával.
Az ownership azt mondja meg, melyik értékért ki felel, a borrowing pedig azt, hogyan engedhetünk ideiglenes hozzáférést más kódrészeknek. Ez a két fogalom együtt teszi lehetővé, hogy sok memóriahasználati hibát a fordító jelezzen. Nem kell minden értéket klónozni, és a lifetime-jelölések sem hosszabbítják meg az adatok életét.
Először figyeld meg, mi történik egy String átadásakor. Ezután írd át a függvényt úgy, hogy csak egy &str referenciát kérjen. Végül próbálj egyszerre olvasni és módosítani ugyanazt a kollekciót. Ezekkel az egyszerű kísérletekkel elkülöníthető a tulajdon átadása, az olvasási kölcsön és a kizárólagos módosítás.
Ha hibaüzenettel érkeztél, az E0382 és E0502 útmutatónál indulj. Ha a kód már fordul, de mindenhol clone szerepel, érdemes visszatérni a referenciákhoz. A cél az adat életútjának megtervezése: mikor kell valóban önálló másolat, és mikor elegendő egy rövid ideig kölcsönadni az eredetit.
Ajánlott tanulási sorrend
Ownership és move
Tulajdonosváltás és Copy típusok.
tovább →Kölcsönzés és referenciák
&T, &mut T és slice-ok.
tovább →Borrow checker hibák javítása
Konkrét E0382 és E0502 példák, fordított megoldásokkal.
tovább →Lifetime-annotációk
A bemeneti és kimeneti referenciák kapcsolata.
tovább →
Kapcsolódó cikkek



