Fette di ruggine

Fette di ruggine
Una fetta è un tipo di dati che consente di fare riferimento a una sequenza adiacente di elementi in Rust Collection. Poiché una fetta è un riferimento, non ha un proprietario. Fa riferimento a un puntatore a una "fetta" di memoria.

In questo tutorial, impareremo come possiamo accedere a fette di raccolta come vettori, array, stringhe, ecc.

Ruggine crea fetta

Come indicato nella sezione sopra, una fetta è un tipo preso in prestito che tiene il puntatore all'indirizzo dei dati.

Quindi, creiamo una fetta prendendo una parte del contenitore di dati esistente. Non possiamo creare una fetta come faremmo una normale variabile.

Per creare una fetta, specifichiamo l'indice di avvio e finale all'interno di una coppia di parentesi quadrate. L'indice di partenza e finale è separato usando la notazione a doppia punto.

Possiamo esprimere questa sintassi come mostrato:

let some_string = "value";
& some_string [start_index… end_index];

Si noti che possiamo tagliare qualsiasi raccolta valida in ruggine. Prendi l'esempio di seguito che crea una fetta da un tipo di stringa.

fn main ()
let url = "linuxhint.com ";
let slice = & url [0… 9];
println!("", fetta);

Il codice sopra crea una fetta di una stringa a partire dall'indice 0 all'indice 9. Si noti che l'ultimo è esclusivo. Ciò significa che la fetta conterrà il valore dall'indice iniziale - 1.

Nota il & operatore? Questo perché la fetta è un riferimento ai dati effettivi nella raccolta specificata.

Il codice sopra dovrebbe restituire:

Rust ci consente anche di saltare l'indice di avvio e finale. Ad esempio, se stiamo iniziando la fetta dall'indice 0, possiamo omettere lo 0 e semplicemente impostare l'indice finale. Un esempio è come mostrato:

fn main ()
let url = "linuxhint.com ";
let slice = & url [… 9];
println!("", fetta);

Si noti che l'esempio sopra imposta l'intervallo di indice come ... 9. Ciò significa iniziare dall'indice 0 all'indice 9.

Possiamo fare lo stesso per l'indice finale. Considera il codice di esempio mostrato di seguito:

fn main ()
let url = "linuxhint.com ";
let slice = & url [9…];
println!("", fetta);

Questo dovrebbe tornare:

Oltre a una corda, puoi avere una fetta di un array. Un esempio è come mostrato di seguito:

fn main ()
LET ARR = [100.200.300.400.500];
let slice = & arr [1… 3];
println!(":?", fetta);

Questo dovrebbe restituire una fetta di array con i valori nell'intervallo specificato.

[200, 300]

Possiamo tagliare un vettore come mostrato:

fn main ()
let vec = vec!["a", "b", "c", "d", "e"];
let slice = & vec [1… = 4];
println!(":?", fetta);

Fetta mutabile

Possiamo anche creare fette mutabili impostando la parola chiave MUT in una fetta. Un esempio è come mostrato:

fn main ()
LET ARR = [100.200.300.400.500];
Lascia mut slice = & arr [1… 3];
println!(":?", fetta);

Puoi mutare l'array restituito come si vede opportuno.

Conclusione

Questa guida copre i fondamenti del lavoro con le fette nel linguaggio della ruggine. Puoi controllare la documentazione per esplorare ulteriormente.

Grazie per aver letto!