# String
El tipo de datos String en Rust se puede clasificar en lo siguiente:
- Literal de cadena (&str)
- Objeto de cadena (String)
Los literales de cadena son un conjunto de caracteres, que están codificados en una variable. Por ejemplo:
let web = "AcademiaScrypto.com";
// Definimos el tipo
let lugar: &str = "Toledo";
El tipo de objeto String se puede utilizar para representar valores de cadena que se proporcionan en tiempo de ejecución.
Para crear un objeto String, podemos usar cualquiera de las siguientes sintaxis:
// Crea una cadena vacía
let cadena_vacia = String::new();
// Crea una cadena con un valor por defecto
let cadena_defecto = String::from("AcademiaScrypto.com");
Los métodos más comunes son:
Método | Descripción |
---|---|
new() | Crea una nueva cadena vacía |
to_string() | Convierte el valor dado en una cadena |
replace() | Reemplaza todas las coincidencias de un patrón con otra cadena |
as_str() | Extrae un segmento de cadena que contiene la cadena completa |
push() | Agrega el carácter dado al final de esta Cadena |
push_str() | Agrega un segmento de cadena dado al final de esta Cadena |
len() | Devuelve la longitud de este String, en bytes |
trim() | Devuelve un segmento de cadena con los espacios en blanco iniciales y finales eliminados |
split_whitespace() | Divide un segmento de cadena por espacios en blanco y devuelve un iterador |
split() | Devuelve un iterador sobre las subcadenas de este segmento de cadena, separadas por caracteres que coinciden con un patrón |
chars() | Devuelve un iterador sobre los caracteres de un segmento de cadena. |
Un valor de cadena se puede agregar a otra cadena. Esto se llama concatenación o interpolación. El resultado de la concatenación de cadenas es un nuevo objeto de cadena. Ejemplo:
let n1 = "academia".to_string();
let n2 = "Scrypto.com".to_string();
let n3 = n1 + &n2; // pasamos n2 como referencia y funciona.
println!("{}",n3);
// resultado: academiaScrypto.com
Para convertir un número en una cadena utilizamos el método to_string() ejemplo:
let numero = 2022;
let numero_a_cadena = numero.to_string();
println!("{}",numero_a_cadena);
// resultado: "2022"
Atención
- Las cadenas de caracteres es uno de los temas mas farragosos de tratar en Rust, seguro que a lo largo de este curso dedicaremos mas de un momento a leer y probar documentación.