如何在 Rust 中正确创建包含 String 类型字段的结构体?
大家好!我刚开始学习 Rust,在创建一个包含字符串字段的简单结构体时遇到了问题。在其他语言(比如 Python 或 Java)中,我只需声明字符串字段就能正常工作。但在 Rust 中,事情似乎更复杂。
以下是我尝试做的:
```rust
struct Person {
name: &str,
age: u32,
}
fn main() {
let person = Person {
name: "Alice",
age: 30,
};
println!("{} is {} years old", person.name, person.age);
}
```
编译器报错:`missing lifetime specifier`。我明白这是因为 `&str` 是一个引用,编译器不知道它的生命周期有多长。但我不想纠结于生命周期,我只想让结构体拥有自己的数据。
我尝试使用 `String` 代替 `&str`,但这样无法直接传递字符串字面量。在结构体中到底应该如何正确处理字符串?是否总是需要使用 `String` 作为字段?