Rust:
Calculando la longitud de una cadena
Cómo hacerlo:
Ejemplos claros para obtener la longitud de una cadena en Rust:
fn main() {
let mi_cadena = "Hola Mundo";
println!("La longitud es: {}", mi_cadena.len());
}
Salida:
La longitud es: 10
Si la cadena contiene caracteres Unicode, ten en cuenta que .len()
devuelve bytes, no caracteres:
fn main() {
let unicode = "¡Hola!";
println!("La longitud en bytes es: {}", unicode.len());
}
Salida:
La longitud en bytes es: 7
Profundización
Históricamente, medir una cadena en lenguajes como C era tedioso, contando hasta un carácter nulo. Rust simplifica este proceso pero su enfoque es en bytes, no en caracteres Unicode (escalares). Hay alternativas como char_count
si necesitas contar caracteres:
fn main() {
let unicode = "¡Hola!";
let caracteres: Vec<char> = unicode.chars().collect();
println!("La cantidad de caracteres Unicode es: {}", caracteres.len());
}
Salida:
La cantidad de caracteres Unicode es: 5
La longitud en bytes se utiliza por defecto ya que Rust está diseñado para ser seguro y rápido en operaciones con memoria. Esto implica entender que String
en Rust es como un Vec<u8>
bajo el capó.
Ver También
- Documentación oficial de Rust sobre
String
: Strings in Rust - Referencia de la API de Rust para el tipo
String
: API Reference - Rust by Example sobre cadenas: Rust by Example: Strings
- Stack Overflow en Español para preguntas específicas: Stack Overflow en Español