How to copy a string in Rust

8 Answers

0 votes
// Copy using simple assignment

fn main() {
    let src = "Programming is fun";

    let dest = src; // Copy reference

    println!("{}", dest);
}


/*
run:

Programming is fun

*/

 



answered 3 hours ago by avibootz
0 votes
// Copy using String::from()

fn main() {
    let src = "Programming is fun";

    let dest = String::from(src);

    println!("{}", dest);
}


/*
run:

Programming is fun

*/

 



answered 3 hours ago by avibootz
0 votes
// Copy using clone()

fn main() {
    let src = String::from("Programming is fun");

    let dest = src.clone();

    println!("{}", dest);
}



/*
run:

Programming is fun

*/

 



answered 3 hours ago by avibootz
0 votes
// Copy using to_owned()

fn main() {
    let src = "Programming is fun";
    
    let dest = src.to_owned();

    println!("{}", dest);
}



/*
run:

Programming is fun

*/

 



answered 3 hours ago by avibootz
0 votes
// Copy using format!

fn main() {
    let src = "Programming is fun";
    let dest = format!("{}", src);

    println!("{}", dest);
}



/*
run:

Programming is fun

*/

 



answered 3 hours ago by avibootz
0 votes
// Copy using push_str()

fn main() {
    let src = "Programming is fun";
    let mut dest = String::new();

    dest.push_str(src);

    println!("{}", dest);
}



/*
run:

Programming is fun

*/

 



answered 3 hours ago by avibootz
0 votes
// Copy using character iterator

fn main() {
    let src = "Programming is fun";
    
    let dest: String = src.chars().collect();

    println!("{}", dest);
}




/*
run:

Programming is fun

*/

 



answered 3 hours ago by avibootz
0 votes
// Copy using byte vector conversion

fn main() {
    let src = "Programming is fun";
    
    let bytes = src.as_bytes().to_vec();
    let dest = String::from_utf8(bytes).unwrap();

    println!("{}", dest);
}



/*
run:

Programming is fun

*/

 



answered 3 hours ago by avibootz

Related questions

6 answers 10 views
7 answers 9 views
8 answers 21 views
7 answers 13 views
10 answers 16 views
11 answers 23 views
...