Concatenar cadenas en Rust
-
Use la macro
concat!()
para concatenar cadenas en Rust -
Usa el método
concat()
para concatenar cadenas en Rust - Use cadenas propias y prestadas para concatenar cadenas en Rust
Este artículo muestra las formas de concatenar cadenas en Rust.
Use la macro concat!()
para concatenar cadenas en Rust
El concat!()
se considera una macro en Rust que se usa para concatenar dos cadenas en una cadena estática. Se necesitan múltiples literales separados por comas, y el tipo de expresión para eso es &'static str
.
Código de ejemplo:
fn main() {
println!("{}", concat!("bat", "man"))
}
Producción :
batman
Usa el método concat()
para concatenar cadenas en Rust
El método concat()
de Rust se usa para aplanar una rebanada de tipo T
en un solo valor de tipo U
. Puedes concatenar cadenas con la función concat()
si está en un vector.
El vector se expandirá en un solo valor de cadena utilizando este enfoque.
Código de ejemplo:
fn main() {
let v = vec!["bat", "man"];
let s: String = v.concat();
println!("{}", s);
}
Producción :
batman
Use cadenas propias y prestadas para concatenar cadenas en Rust
Necesitamos asignar la memoria para almacenar el resultado de la concatenación de la cadena. Si el método que estamos usando es modificar la primera cadena a la cadena concatenada, entonces la primera cadena debe ser cadena propia únicamente.
Pero si las cadenas se concatenan pero no se modifican, entonces las cadenas pueden ser cadenas propias o prestadas o podrían ser una mezcla de ambas cadenas.
Para crear una cadena propia en Rust, necesitamos usar to_owned
como en el código de ejemplo a continuación.
let os: String = "Welcome".to_owned();
La cadena prestada se ve así.
let bs: &str = "Home";
El ejemplo de código para la primera cadena se modifica y luego la cadena concatenada es:
fn main() {
let mut os: String = "Hello ".to_owned();
let bs: &str = "World";
os.push_str(bs);
println!("{}", os);
}
Producción :
Hello World
Aquí podemos mutar la cadena ya que tenemos una cadena propia. Este se considera el método eficiente ya que nos permite reutilizar la asignación de memoria.
Un caso similar está disponible para String
y String
como &string
, que se puede desreferenciar como &str
.
Código de ejemplo:
fn main() {
let mut os: String = "Welcome".to_owned();
let second_os: String = "Home".to_owned();
os.push_str(&second_os);
println!("{}", os);
}
Producción :
WelcomeHome
El código de ejemplo que se usa a continuación es en el que se toman prestadas ambas cadenas.
Código de ejemplo:
fn main() {
let bs1: &str = "Welcome";
let bs2: &str = "Home";
let together = format!("{}{}", bs1, bs2);
println!("{}", together);
}
Producción :
WelcomeHome