
文章目录
1. 目的
学习 Rust 语言中的字符串, 包括数据类型, 常用 API。
2. 数据类型
Rust 语言提供了两种字符串:
-
str类型. 通常用它的 borrow 类型&str. -
标准库的
String类型.
2.1 str 类型
也叫做 string slice. 通常是使用它的 borrow 类型,也就是 &str. 1
字符串字面量 (string literals) 的类型, 也是 str 类型(也就是 &'static str).
字符串字面量 &str 是在编译时确定其值的字符串类型。
fn main() {
let a:&str = "hello";
println!("a {}", a);
let b = "world";
println!("b {}", b);
}
编译运行
zz@Legion-R7000P% ./u1
a hello
b world
2.2 标准库 String 类型
Rust 语言的 String 位于标准库2:

String 是一个 struct3:

pub struct String {
vec: Vec<u8>,
}
其中 Vec<u8> 指的是 UTF-8 字符作为元素的容器。这里暂时不了解容器,简单理解为:和 C++ 的 vector 类似的东西。
尝试使用 String 创建字符串变量:
fn main() {
let s1 = String::new(); // 创建空字符串
println!("s1: |{}|", s1);
let s2 = String::from("hello world"); // 从字符串字面量创建 String
println!("s2: {}", s2);
}
3. 常用 API
3.1 len() 方法
无论是 &str 还是 String 类型的对象, 都支持 len() 方法:
u3.rs:
fn main() {
let s1 = String::new();
println!("s1: |{}|, s1.len(): {}", s1, s1.len());
let s2 = String::from("hello wo

本文介绍了Rust语言中的两种字符串类型——str和String,详细讲解了它们的特点和用法,如str作为字符串切片,String作为可变的字符串结构体。同时,文章列举了常用的字符串操作API,包括len()方法用于获取字符串长度,is_empty()方法检查字符串是否为空,starts_with()方法判断字符串是否以特定前缀开始,以及find()方法查找子串在字符串中的位置。
最低0.47元/天 解锁文章
1565

被折叠的 条评论
为什么被折叠?



