Rust:
Sammenslåing av strenger
Hvordan:
I Rust brukes +
-operatoren eller format!
-makroen for å slå sammen strenger. Her er noen eksempler:
fn main() {
// Concatenate with `+`
let hello = "Hei".to_string();
let world = "verden!";
let hello_world = hello + " " + world;
println!("{}", hello_world); // Output: Hei verden!
// Concatenate using `format!`
let name = "Ola";
let greeting = format!("{} {}", hello_world, name);
println!("{}", greeting); // Output: Hei verden! Ola
}
Dypdykk
I de tidlige dagene av programmering, før Rust, var strengkonkatenering ofte kompleks og feilutsatt. Rust innførte eierskapsmodellen som gjør strengkonkatenering litt annerledes, men sikrere og mer forutsigbar. For eksempel, ved å bruke +
, overføres eierskapet, og den første strengen kan ikke gjenbrukes uten å bli klonet først. Alternativer til +
inkluderer format!
, som er mer fleksibel og lett å bruke når man kombinerer flere verdier av forskjellige typer, eller metodene push
og push_str
for String
.
Når det gjelder implementasjon, lagrer Rust strenger som String
type, som representerer en voksende, endringsdyktig tekst sekvens. Bak kulissene bruker String
en Vec<u8>
for å holde på dataen, noe som betyr at den er lagret i UTF-8 format.