Avatar ·

如何在 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` 作为字段?