let ticket = String::from("VIP区座位"); let friend_ticket = ticket; // 所有权转移 println!("我的票:{}", ticket); // 编译错误!票已经不在我手上了
let book = String::from("Rust编程指南"); let reader1 = &book; let reader2 = &book; println!("读者1: {}, 读者2: {}", reader1, reader2);
let full_text = String::from("Rust编程很有趣"); let slice = &full_text[5..12]; // 借用部分字符串 println!("切片内容: {}", slice); // full_text仍然拥有完整字符串的所有权
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
if x.len() > y.len() { x } else { y }
}
标签: #Rust所有权机制 #Rust借用规则 #Rust编程常见错误 #Rust生命周期理解 #提升Rust开发效率