# rust abc(6): 字符串的简单使用

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

在这里插入图片描述

1. 目的

学习 Rust 语言中的字符串, 包括数据类型, 常用 API。

2. 数据类型

Rust 语言提供了两种字符串:

  1. str 类型. 通常用它的 borrow 类型 &str.

  2. 标准库的 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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值