当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust str.get_unchecked_mut用法及代码示例


本文简要介绍rust语言中 str.get_unchecked_mut 的用法。

用法

pub unsafe fn get_unchecked_mut<I>(    &mut self,     i: I) -> &mut <I as SliceIndex<str>>::Output where    I: SliceIndex<str>,

返回一个可变的、未经检查的 str 子切片。

这是索引 str 的未经检查的替代方法。

安全性

此函数的调用者负责满足这些先决条件:

  • 起始索引不得超过结束索引;
  • 索引必须在原始切片的范围内;
  • 索引必须位于 UTF-8 序列边界上。

否则,返回的字符串切片可能会引用无效内存或违反 str 类型传达的不变量。

例子

let mut v = String::from("🗻∈🌏");
unsafe {
    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    assert_eq!("∈", v.get_unchecked_mut(4..7));
    assert_eq!("🌏", v.get_unchecked_mut(7..11));
}

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 str.get_unchecked_mut。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。