mirror of
https://github.com/ArthurDanjou/hellorust.git
synced 2026-01-14 12:14:35 +01:00
Learn Ownerships
This commit is contained in:
31
src/ownership/strings.rs
Normal file
31
src/ownership/strings.rs
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
fn main() {
|
||||||
|
let mut s = String::from("Hello");
|
||||||
|
s.push_str(", World!");
|
||||||
|
println!("{}", s);
|
||||||
|
|
||||||
|
let s2 = "Hello";
|
||||||
|
//s2.push_str(", World!"); Error
|
||||||
|
println!("{}", s2);
|
||||||
|
|
||||||
|
let s3 = s;
|
||||||
|
println!("{}", s3);
|
||||||
|
//println!("{}", s); The value is borrowed
|
||||||
|
|
||||||
|
let s4 = s3.clone();
|
||||||
|
println!("s3 = {}, s4 = {}", s3, s4);
|
||||||
|
|
||||||
|
let (s5, taille) = calculer_taille(s4);
|
||||||
|
println!("s5 = {}, taille = {}", s5, taille);
|
||||||
|
|
||||||
|
let taille2 = taille_sans_possession(&s5);
|
||||||
|
println!("s5 = {}, taille = {}", s5, taille2);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn calculer_taille(s: String) -> (String, usize) {
|
||||||
|
let taille = s.len();
|
||||||
|
(s, taille)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn taille_sans_possession(s: &String) -> usize {
|
||||||
|
s.len()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user