Come usare le stringhe in ruggine

Come usare le stringhe in ruggine

Una stringa è definita come una sequenza di caratteri Unicode codificati nel flusso UTF-8-BYTE. Le stringhe sono un concetto 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 è 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 aggiungere un valore utilizzando il metodo Push_STR.

str.push_str ("linuxhint");

Per accumulare allocare una stringa, possiamo fare quanto segue:

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

Per convertire una stringa letterale in un oggetto stringa, possiamo fare quanto segue:

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. Quindi, possiamo iterare sulle fette come mostrato:

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

Il codice precedente 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 di seguito:

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

L'esempio precedente dovrebbe restituire la stringa disponibile sugli offset specificati:

Linux

Concatenazione delle stringhe

È possibile concatenare una stringa letterale e un oggetto stringa usando l'operatore +. Di seguito è riportato il seguente esempio:

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

Nota: non è possibile concatenare i valori Two & STR utilizzando l'operatore +.

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

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 ad A & STR.

Conclusione

In questa guida, abbiamo esplorato il concetto di stringhe nel linguaggio di programmazione Rust e abbiamo discusso di come potremmo usarle nei nostri programmi. Abbiamo evidenziato i due diversi tipi di stringhe che sono i letterali di stringa e gli oggetti stringa. Inoltre, abbiamo discusso dei diversi metodi per accumulare allocare una stringa. Speriamo che tu abbia trovato questo articolo utile. Controlla gli altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.