侧边栏壁纸
博主头像
喵记博主等级

行动起来,活在当下

  • 累计撰写 18 篇文章
  • 累计创建 4 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Rust(七):切片

张秋平
2024-02-12 / 0 评论 / 0 点赞 / 22 阅读 / 1714 字

Rust 中的切片

  • 字符串切片:指向字符串中一部分内容的引用

  • 数组切片和字符串切片类似

指定起始位置和结束位置

  • 包含起始位置但不包含结束位置

fn main() {
    let s = String::from("Hello, world!");

    let s2 = &s[0..5];
    println!("s2: {}", s2);
}

//> s2: Hello

仅指定结束位置

  • 不指定时,默认从0开始

fn main() {
    let s = String::from("Hello, world!");

    let s2 = &s[..5];
    println!("s2: {}", s2);
}

//> s2: Hello

仅指定起始位置

  • 不指定时,默认到字符串的最后一个字符

fn main() {
    let s = String::from("Hello, world!");

    let s2 = &s[5..];
    println!("s2: {}", s2);
}

//> s2: , world!

不指定起始位置和结束位置

  • 默认为全部字符串

fn main() {
    let s = String::from("Hello, world!");

    let s2 = &s[..];
    println!("s2: {}", s2);
}

//> s2: Hello, world!

注意

  • 字符串切片的范围索引必须发生在有效的UTF-8字符边界内

  • 如果字符串中包含中文,一个中文占用三个字节,则索引位置不能指向汉字的中间位置

0

评论区