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 Apr 17 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 Apr 17 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 Apr 17 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 Apr 17 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 Apr 17 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 Apr 17 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 Apr 17 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 Apr 17 by avibootz

Related questions

6 answers 70 views
7 answers 83 views
8 answers 85 views
7 answers 78 views
11 answers 97 views
...