Rust에서 문자열 연결
 
이 글은 Rust에서 문자열을 연결하는 방법을 보여줍니다.
Rust에서 concat!() 매크로를 사용하여 문자열 연결
    
concat!()는 Rust에서 두 문자열을 정적 문자열로 연결하는 데 사용되는 매크로로 간주됩니다. 여러 개의 쉼표로 구분된 리터럴이 필요하며 이에 대한 표현식 유형은 &'static str입니다.
예제 코드:
fn main() {
    println!("{}", concat!("bat", "man"))
}
출력:
batman
Rust에서 concat() 메서드를 사용하여 문자열 연결
Rust의 concat() 메서드는 T 유형의 슬라이스를 U 유형의 단일 값으로 병합하는 데 사용됩니다. 문자열이 벡터에 있는 경우 concat() 함수로 문자열을 연결할 수 있습니다.
벡터는 이 접근 방식을 사용하여 단일 문자열 값으로 확장됩니다.
예제 코드:
fn main() {
    let v = vec!["bat", "man"];
    let s: String = v.concat();
    println!("{}", s);
}
출력:
batman
소유하고 빌린 문자열을 사용하여 Rust에서 문자열 연결
문자열 연결에 대한 결과를 저장할 메모리를 할당해야 합니다. 우리가 사용하는 방법이 첫 번째 문자열을 연결된 문자열로 수정하는 것이라면 첫 번째 문자열은 소유 문자열만이어야 합니다.
그러나 문자열이 연결되었지만 수정되지 않은 경우 문자열은 소유 문자열이거나 빌린 문자열이거나 두 문자열의 혼합일 수 있습니다.
Rust에서 소유 문자열을 생성하려면 아래 예제 코드와 같이 to_owned를 사용해야 합니다.
let os: String = "Welcome".to_owned();
빌린 문자열은 다음과 같습니다.
let bs: &str = "Home";
첫 번째 문자열에 대한 코드 예제가 수정된 다음 연결된 문자열은 다음과 같습니다.
fn main() {
    let mut os: String = "Hello ".to_owned();
    let bs: &str = "World";
    os.push_str(bs);
    println!("{}", os);
}
출력:
Hello World
여기서 우리는 소유한 문자열을 가지고 있기 때문에 문자열을 변경할 수 있습니다. 메모리 할당을 재사용할 수 있으므로 효율적인 방법으로 간주됩니다.
유사한 사례가 &str로 역참조될 수 있는 &string과 같은 String 및 String에 사용할 수 있습니다.
예제 코드:
fn main() {
    let mut os: String = "Welcome".to_owned();
    let second_os: String = "Home".to_owned();
    os.push_str(&second_os);
    println!("{}", os);
}
출력:
WelcomeHome
아래에 사용된 예제 코드는 두 문자열을 모두 빌린 코드입니다.
예제 코드:
fn main() {
    let bs1: &str = "Welcome";
    let bs2: &str = "Home";
    let together = format!("{}{}", bs1, bs2);
    println!("{}", together);
}
출력:
WelcomeHome