为什么 Rust 同时具有String和str?它们之间有什么区别,什么时候应该使用其中一种而不是另一种?其中之一是否已被弃用?
在 Rust 中,String 和 str 都用于表示文本数据,但它们具有不同的特性和用法。
String
str
示例: rust let mut s = String::new(); s.push_str("hello"); s.push(' '); s.push_str("world");
rust let mut s = String::new(); s.push_str("hello"); s.push(' '); s.push_str("world");
str:
&str
&'a str
示例: ```rust fn print_str(s: &str) { println!(“{}”, s); }
let s: &str = “hello”; ```
区别和用法:
String 常用于需要转移所有权或需要动态字符串操作的 API 中,而 str 常用于函数签名、数据结构和其他上下文中,其中借用是足够的。
弃用: