Conversión de String a STR en Rust

Muhammad Adil 30 enero 2023
  1. Concepto de String en Rust
  2. Concepto de str en Rust
  3. Conversión de String a str en Rust
  4. Diferencia entre str y String en Rust
Conversión de String a STR en Rust

Rust es un lenguaje que fue diseñado para ser robusto y seguro. También se enfoca en el rendimiento para cualquier cosa, desde la programación de sistemas hasta la creación de secuencias de comandos.

El tipo String en Rust no es inmutable, pero el tipo String tiene métodos para crear y manipular cadenas. Este artículo discutirá el String y &static str en detalle.

Concepto de String en Rust

Una cadena es una estructura que contiene un vector Vec, una matriz sin firmar de 8 bits que se puede expandir.

Una cadena, a diferencia de str, tiene la propiedad de los datos. Por lo tanto, no es esencial utilizar & o pedir prestado el estado al asignar el valor de una cadena a una variable.

Durante el inicio, el tamaño de una cadena puede conocerse o desconocerse en tiempo de compilación, pero puede expandirse hasta que su longitud alcance su límite.

Sintaxis:

let my_string = String::from("Hello World");

Concepto de str en Rust

En Rust, str es un tipo primitivo que define un literal de cadena. Su información se asigna en la ubicación de memoria del programa binario.

Rebanada de cuerda

Un segmento es una vista que contiene una secuencia de elementos y se denota por la sintaxis. Las rebanadas no tienen propiedad, pero le permiten consultar el orden en que aparecen los elementos.

Como resultado, un segmento de cadena es una referencia a la secuencia de elementos de una cadena.

let hello_string = String::from("hello world");

let hello_slice = &hello_string[4.8];

Las letras "hello world" se almacenan en la variable hello_string. La cadena, una matriz ampliable, contiene una ubicación o índice para cada carácter.

Literales de cadena

Un literal de cadena se construye encerrando el texto entre comillas dobles. Los literales de cadena son un poco diferentes.

Son segmentos de cadena que se refieren a "texto preasignado" almacenado como parte del ejecutable en la memoria de solo lectura. En otras palabras, la memoria RAM viene con nuestro software y no depende de cachés de pila.

Conversión de String a str en Rust

Es posible que las cadenas no existan durante toda la vida de su código, que es lo que significa el tiempo de vida de &'static str, por lo tanto, no puede obtener &'static str de ellas. Solo se puede obtener una porción especificada por la vida útil de String.

Código de ejemplo:

fn main() {
    let hello_string = String::from("Hello world");
    print_infi(&hello_string);
    print!("Adil {}", hello_string);
}
fn print_infi(infi: &str) {
    println!("Steve {} ", infi);
}

Producción :

Steve Hello world
Adil Hello world

Ejecutar código

Diferencia entre str y String en Rust

String Str
1. Mudable Inmutable
2. En el momento de la compilación, se desconoce el tamaño. En el momento de la compilación, se conoce el tamaño.
3. Los datos se almacenan en un montón. Los datos se almacenan en la ubicación de memoria del binario de la aplicación.
4. Para asignar una sola variable str, emplee o haga referencia. Para asignar un valor de variable de cadena, no necesita emplear ni hacer referencia.
Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

Artículo relacionado - Rust String