结构中的字符串切片(在Rust中)

fad*_*bee 9 string struct lifetime rust

我怎么告诉Rust我想要一个包含一个字符串片段的结构?

我试过了:

struct Welcome {
    version: &str,
}
Run Code Online (Sandbox Code Playgroud)

但编译器抱怨:

src/chat.rs:16:14: 16:18 error: missing lifetime specifier [E0106]
src/chat.rs:16     version: &str,
Run Code Online (Sandbox Code Playgroud)

根据我对Rust的有限理解,我认为字符串切片是指向其他地方分配的文本的指针+长度.

我希望字符串切片的生命周期是分配文本的生命周期.

Pao*_*lla 12

你的理解大多是正确的,你离你想要的只有一步之遥.您可以通过以下方式使用命名生命周期:

struct Welcome<'a> {
    version: &'a str,
}
Run Code Online (Sandbox Code Playgroud)

这表示&str引用必须与包含Welcome结构的生命周期相同.有关生命周期的更多信息可以在生命指南中找到


归档时间:

查看次数:

2149 次

最近记录:

10 年,9 月 前