Cordas em ferrugem

Cordas em ferrugem
Uma string é definida como uma sequência de caracteres unicode que são codificados em um fluxo UTF-8-byte. As cordas são um conceito muito fundamental em qualquer conhecimento de programação, pois são uma fonte de grande problema ou grande produtividade.

Este artigo explorará como trabalhar com cordas na linguagem de programação de ferrugem e determinará o que torna as cordas da ferrugem diferentes.

Cordas de ferrugem

Existem dois tipos de cordas na ferrugem:

  1. String literais e str
  2. Objetos de String (String)

Literal da corda da ferrugem

A corda de ferrugem literal é conhecida como uma fatia de string que sempre faz referência a uma sequência de caracteres UTF-8. Nós o usamos principalmente quando conhecemos o valor da string no tempo de compilação. Pode ser usado como uma vista em um objeto de string. Os literais de cordas são estáticos por padrão, o que significa que eles não sofrem mutações.

Podemos declarar uma corda literal em ferrugem, criando uma variável com ou sem tipo de inferência. O exemplo a seguir mostra dois literais de cordas válidos em ferrugem.

Deixe str = "Hello World";
Deixe Str: & str = "Hello World;

Ambos são semelhantes, mas um infera o tipo enquanto o outro não.

Objeto de corda de ferrugem

Um objeto de string refere-se a um vetor dinâmico e alocado por heap de bytes. Como literais de string, a string objetiva não precisa ser terminada nula. String objetado é normalmente criado convertendo uma fatia de string em objetos de string usando o método to_string.

Para criar um objeto de string vazio e cultivável, podemos usar o novo método como mostrado:

Deixe mut str = string :: new ();

Depois de ter uma string vazia, você pode adicionar um valor usando o método push_str.

str.push_str ("linuxhint");

Para alocar uma string, podemos fazer:

deixe o nome = string :: de ("winnie");

Para converter uma string literal em um objeto de string:

Deixe str = "Linuxhint".para sequenciar();

Indexação de string

Strings em ferrugem não suportam indexação direta. Um exemplo é como mostrado:

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

A melhor maneira de superar isso é tratar a corda como uma sequência de bytes individuais. Podemos então iterar sobre as fatias como mostrado:

deixe string = "linuxhint";
para C em cordas.as_bytes ()
println!("", c);

O código acima deve retornar uma representação individual de bytes dos valores da string.

Fatia de string

Você pode obter uma fatia de uma corda usando o fatiamento literal como mostrado:

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

O acima deve retornar a string disponível nas compensações especificadas.

Linux

Concatenação de string

Você pode concatenar uma string literal e um objeto de string usando o operador +. Um exemplo é como mostrado:

fn main ()
Seja Str1: & str = "Hello";
Seja STR2: & str = "mundo";
Deixe String = STR1.to_string () + str2;
println!("", corda);

Lembre -se de que você não pode concatenar dois valores de STR usando o operador +.

Se você tiver dois objetos de string, pode concatenar os dois usando o Operador e como:

fn main ()
Deixe Str1 = "Olá".para sequenciar();
Deixe Str2 = "mundo".para sequenciar();
Deixe String = STR1.para sequenciar() + &str2;
println!("", corda);

Isto é por causa da coerção Deref que permite que uma string coage A&ST.

Conclusão

Neste guia, exploramos o conceito de cordas na ferrugem e discutimos como poderíamos usá -los em nossos programas.

Obrigado pela leitura!