Plastry rdzy

Plastry rdzy
Slice to typ danych, który pozwala odwołać się do sąsiedniej sekwencji elementów w zbiorze rdzy. Ponieważ kawałek jest odniesieniem, nie ma właściciela. Odwołuje wskaźnik do pamięci „Krawku”.

W tym samouczku dowiemy się, w jaki sposób możemy uzyskać dostęp do plasterków kolekcji, takich jak wektory, tablice, struny itp.

Rdza Utwórz plasterek

Jak stwierdzono w powyższej sekcji, plasterek jest pożyczonym typem, który utrzymuje wskaźnik do adresu danych.

Stąd tworzymy kawałek, biorąc część istniejącego kontenera danych. Nie możemy utworzyć plasterek tak, jakbyśmyli normalną zmienną.

Aby utworzyć plasterek, określamy indeks początkowy i końcowy wewnątrz pary kwadratowych nawiasów. Wskaźnik początkowy i końcowy jest oddzielony za pomocą notacji podwójnej kropki.

Możemy wyrazić tę składnię, jak pokazano:

Niech some_string = "wartość";
& Some_String [start_index… end_index];

Zauważ, że możemy pokroić dowolną ważną kolekcję w rdzy. Weź poniższy przykład, który tworzy kawałek typu łańcucha.

fn main ()
niech url = "Linuxhint.com ";
Niech Plece = & URL [0… 9];
println!("", plasterek);

Powyższy kod tworzy kawałek ciągu od indeksu 0 do indeksu 9. Zauważ, że ostatni jest wyłączny. Oznacza to, że plasterek będzie zawierał wartość od początku do końca - 1.

Zwróć uwagę na i operator? Wynika to z faktu, że plasterze jest odniesieniem do rzeczywistych danych w określonym zbiorze.

Kod powyżej powinien zwrócić:

Rust pozwala nam również pominąć indeks początkowy i końcowy. Na przykład, jeśli uruchomimy plasterek z indeksu 0, możemy pominąć 0 i po prostu ustawić indeks końcowy. Przykładem jest jak pokazano:

fn main ()
niech url = "Linuxhint.com ";
Niech Plece = & URL [… 9];
println!("", plasterek);

Zauważ, że powyższy przykład ustawia zakres indeksu jako… 9. Oznacza to rozpoczęcie od indeksu 0 do indeksu 9.

Możemy zrobić to samo dla indeksu zakończenia. Rozważ przykładowy kod pokazany poniżej:

fn main ()
niech url = "Linuxhint.com ";
Niech Plece = & URL [9…];
println!("", plasterek);

To powinno powrócić:

Oprócz sznurka możesz mieć kawałek tablicy. Przykładem jest to, jak pokazano poniżej:

fn main ()
Niech ARR = [100,200,300,400,500];
Niech Plece = & ARR [1… 3];
println!(":?", plasterek);

Powinno to zwrócić plasterek tablicy z wartościami w określonym zakresie.

[200, 300]

Możemy pokroić wektor, jak pokazano:

fn main ()
Niech vec = vec![„A”, „B”, „C”, „D”, „E”];
Niech Plece = & VEC [1… = 4];
println!(":?", plasterek);

Zmienny kawałek

Możemy również tworzyć zmienne plasterki, ustawiając słowo kluczowe MUT w plasterze. Przykładem jest jak pokazano:

fn main ()
Niech ARR = [100,200,300,400,500];
Niech Mut Slice = & ARR [1… 3];
println!(":?", plasterek);

Możesz zmutować zwróconą tablicę, jak uważasz za stosowne.

Wniosek

Ten przewodnik obejmuje podstawy pracy z plasterkami w języku rdzy. Możesz sprawdzić dokumentację, aby dalej zbadać.

Dziękuje za przeczytanie!