Rust 中的生命周期与内部可变性
在 Rust 编程中,生命周期和内部可变性是两个重要的概念。生命周期帮助编译器了解引用的存活时间,而内部可变性则允许我们在不使用 mut 关键字的情况下安全地修改值。下面我们将深入探讨这两个概念。
1. &str 的类型
在 Rust 里, &str 有两种类型:
- 字符串字面量 :当我们编写 let my_str = "I am a &str"; 时,就创建了一个字符串字面量。它们的生命周期是整个程序,因为它们直接被写入二进制文件中,类型为 &'static str 。这里的 ' 表示生命周期,字符串字面量的生命周期是 static 。
- 借用的 str :这是没有 'static 生命周期的常规 &str 形式。如果你有一个 String 并传递它的引用( &String ),Rust 会在需要时将其转换为 &str ,这得益于 Deref 特性。例如:
fn prints_str(my_str: &str)
超级会员免费看
订阅专栏 解锁全文
897

被折叠的 条评论
为什么被折叠?



