10-字符串
1.3.5 字符串
字符串是在任何编程语言中最常用的数据类型之一。在Rust中,它们通常以两种形式出现:&str类型和String类型。Rust字符串保证是有效的UTF-8编码字节序列。它们不像C字符串那样以空值(NULL)终止,并且可以在字符串之间包含空的字节。以下程序展示了这两种类型:
// strings.rs
fn main() {
let question = "How are you ?"; // &str类型
let person: String = "Bob".to_string();
let namaste = String::from(![26.tif{15%}](/api/storage/getbykey/original?key=21016942a5efbb225ec6)); // unicodes yay!
println!("{}! {} {}", namaste, question, person);
}
在上述代码中,person和namaste的类型为String,而question的类型为&str。创建String类型数据的方法有多种。String类型数据是在堆上分配的,&str类型数据通常是指向现有字符串的指针,这些字符串可以在堆栈和堆上,也可以是已编译对象代码的数据段中的字符串。&是一个运算符,用于创建指向任何类型的指针。在初始化前面代码中的字符串后,我们使用println!宏通过格式化字符串将它们一起输出。这些是最基本的字符串知识,我们将在第7章对字符串进行详细介绍。