Updated src/generic_types_traits_and_lifetimes/lifetimes.md'.

This commit is contained in:
Hector PENG
2026-03-23 15:28:43 +08:00
parent eefdd1d8c7
commit efa75875c7
7 changed files with 192 additions and 168 deletions

View File

@@ -0,0 +1,6 @@
[package]
name = "dangling_ref_demo"
version = "0.1.0"
edition = "2024"
[dependencies]

View File

@@ -0,0 +1,6 @@
fn main() {
let x = 5;
let r = &x;
println! {"r: {r}"};
}

View File

@@ -0,0 +1,6 @@
[package]
name = "generic_lifetimes_demo"
version = "0.1.0"
edition = "2024"
[dependencies]

View File

@@ -0,0 +1,15 @@
fn main() {
let string1 = String::from("长字符串就是长");
let result;
{
let string2 = String::from("xyz");
result = longest(string1.as_str(), string2.as_str());
}
println! ("最长字符串为 {result}");
}
fn longest<'a>(x: &str, y: &str) -> &'a str {
let result = String::from("真正长的字符串");
result.as_str()
}

View File

@@ -0,0 +1,6 @@
[package]
name = "lifetime_in_struct_demo"
version = "0.1.0"
edition = "2024"
[dependencies]

View File

@@ -0,0 +1,14 @@
#[derive(Debug)]
struct ImportantExcerpt<'a> {
part: &'a str,
}
fn main() {
let novel = String::from("请叫我 Ishmael。数年前.....");
let first_sentence = novel.split('。').next().unwrap();
let i = ImportantExcerpt {
part: first_sentence,
};
println! ("{i:?}");
}