Sznurki w rdzy

Sznurki w rdzy
Ciąg jest zdefiniowany jako sekwencja znaków Unicode, które są kodowane w strumieniu UTF-8-bajtowe. Strings są bardzo fundamentalną koncepcją w każdej wiedzy programowej, ponieważ są źródłem wielkich problemów lub wielkiej wydajności.

W tym artykule zbadano, jak pracować z strunami w języku programowania rdzy.

Struny rdzy

Istnieją dwa rodzaje strun w rdzy:

  1. String Literals & Str
  2. Obiekty ciągów (ciąg)

Stragan rdzy dosłownie

Literał sznurka rdzy jest znany jako plasterek strunowy, który zawsze odwołuje się do sekwencji znaków UTF-8. Używamy go głównie, gdy znamy wartość łańcucha w czasie kompilacji. Może być używany jako widok w obiekcie ciągów. Literały strunowe są domyślnie statyczne, co oznacza, że ​​nie mutate.

Możemy zadeklarować literał sznurka w rdzy, tworząc zmienną z wnioskiem lub bez tego typu. Poniższy przykład pokazuje dwa prawidłowe literały sznurkowe w rdzy.

niech str = „Hello World”;
niech str: & str = "Hello World;

Oba są podobne, ale jeden wtrzymuje typ, podczas gdy drugi nie.

Obiekt sznurka rdzy

Obiekt ciągów odnosi się do wektora bajtów na album i dynamiczny. Podobnie jak literały smyczkowe, String sprzeciwiony nie musi być zerowy. Sprzeciwione ciągu są zwykle tworzone przez przekształcenie plasterek ciągów na obiekty ciągów za pomocą metody TO_String.

Aby utworzyć pusty i uprawny obiekt ciągów, możemy użyć nowej metody, jak pokazano:

niech mut str = string :: new ();

Po uzyskaniu pustego ciągu możesz dodać do niego wartość za pomocą metody push_str.

str.push_str („Linuxhint”);

Aby sterować łańcuchem, możemy zrobić:

Let name = String :: z („Winnie”);

Aby przekonwertować string literał na obiekt ciągów:

Let str = "Linuxhint".to_string ();

Indeksowanie ciągów

Sznurki w rdzy nie obsługują bezpośredniego indeksowania. Przykładem jest jak pokazano:

niech string = "Linuxhint";
println!("", string [0]);

Najlepszym sposobem na przezwyciężenie tego jest traktowanie łańcucha jako sekwencji poszczególnych bajtów. Następnie możemy iterować plastry, jak pokazano:

niech string = "Linuxhint";
dla C w ciągu.as_bytes ()
println!("", C);

Kod powyżej powinien zwrócić indywidualną reprezentację bajtów wartości ciągu.

Krojenie sznurka

Możesz uzyskać kawałek sznurka za pomocą literatu krojenia, jak pokazano:

fn main ()
niech string = "Linuxhint";
println!(„”, & String [0… 5]);

Powyższe powinno zwrócić ciąg dostępny w określonych przesunięciach.

Linux

String Conatenacja

Możesz połączyć string literał i obiekt łańcuchowy za pomocą operatora +. Przykładem jest jak pokazano:

fn main ()
niech str1: & str = "hello";
niech str2: & str = "świat";
Niech String = Str1.to_string () + str2;
println!("", strunowy);

Pamiętaj, że nie możesz połączyć dwóch wartości STR za pomocą operatora +.

Jeśli masz dwa obiekty ciągów, możesz połączyć je oba za pomocą operatora i:

fn main ()
Let Str1 = "Hello".to_string ();
Let Str2 = „World”.to_string ();
Niech String = Str1.to_string () + &str2;
println!("", strunowy);

Dzieje się tak z powodu przymusu deref, która pozwala ciągowi zmusić A&RT.

Wniosek

W tym przewodniku zbadaliśmy koncepcję strun w rdzy i dyskutowaliśmy, w jaki sposób możemy je wykorzystać w naszych programach.

Dziękuje za przeczytanie!