Stringhe in ruggine

Stringhe in ruggine
Una stringa è definita come una sequenza di caratteri Unicode codificati in un flusso UTF-8 byte. Le stringhe sono un concetto molto fondamentale in qualsiasi conoscenza di programmazione in quanto sono una fonte di grandi problemi o grande produttività.

Questo articolo esplorerà come lavorare con stringhe nel linguaggio di programmazione della ruggine e determinare cosa rende le stringhe in ruggine diverse.

Corde di ruggine

Esistono due tipi di stringhe in ruggine:

  1. String Literals & STR
  2. String Objects (String)

Stringa ruggine letterale

La corda di ruggine letterale è nota come una fetta di stringa che fa sempre riferimento a una sequenza di caratteri UTF-8. Lo usiamo principalmente quando conosciamo il valore della stringa al momento della compilazione. Può essere usato come vista in un oggetto stringa. I letterali delle stringhe sono statici per impostazione predefinita, il che significa che non si mutano.

Possiamo dichiarare una stringa letterale in ruggine creando una variabile con o senza inferenza di tipo. L'esempio seguente mostra due letterali di stringa validi in ruggine.

Lascia che Str = "Hello World";
Lascia che STR: & STR = "Hello World;

Entrambi sono simili, ma uno deduce il tipo mentre l'altro no.

Oggetto stringa ruggine

Un oggetto stringa si riferisce a un vettore di byte allocato e dinamico. Come i letterali di stringa, la stringa obiettata non deve essere terminata. La stringa obiettata viene in genere creata convertendo una fetta di stringa in oggetti stringa usando il metodo TO_STRING.

Per creare un oggetto stringa vuoto e coltivabile, possiamo usare il nuovo metodo come mostrato:

let mut str = string :: new ();

Una volta che hai una stringa vuota, è possibile aggiungerne un valore utilizzando il metodo Push_STR.

str.push_str ("linuxhint");

Per accumulare allocare una stringa, possiamo fare:

let name = String :: da ("Winnie");

Per convertire una stringa letterale in un oggetto stringa:

let Str = "LinuxHint".accordare();

Indicizzazione delle stringhe

Le stringhe in ruggine non supportano l'indicizzazione diretta. Un esempio è come mostrato:

let string = "linuxhint";
println!("", string [0]);

Il modo migliore per superare questo è trattare la stringa come una sequenza di singoli byte. Possiamo quindi iterare sulle fette come mostrato:

let string = "linuxhint";
per c nella stringa.as_bytes ()
println!("", C);

Il codice sopra dovrebbe restituire una rappresentazione di byte individuale dei valori stringa.

Spending String

È possibile ottenere una fetta di una stringa usando il letterale di taglio come mostrato:

fn main ()
let string = "linuxhint";
println!("", & String [0… 5]);

Quanto sopra dovrebbe restituire la stringa disponibile sugli offset specificati.

Linux

Concatenazione delle stringhe

È possibile concatenare una stringa letterale e un oggetto stringa usando l'operatore +. Un esempio è come mostrato:

fn main ()
let Str1: & str = "ciao";
let Str2: & str = "World";
let string = str1.to_string () + str2;
println!("", corda);

Tieni presente che non puoi concaterare i valori di due e STR usando l'operatore +.

Se hai due oggetti stringa, puoi concatenarli entrambi usando l'operatore come:

fn main ()
Let Str1 = "Hello".accordare();
Let Str2 = "World".accordare();
let string = str1.accordare() + &str2;
println!("", corda);

Ciò è dovuto alla coercizione Deref che consente a una stringa di costringere A & STR.

Conclusione

In questa guida, abbiamo esplorato il concetto di stringhe in ruggine e abbiamo discusso di come potremmo usarle nei nostri programmi.

Grazie per aver letto!