當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust str.get_unchecked用法及代碼示例


本文簡要介紹rust語言中 str.get_unchecked 的用法。

用法

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

返回 str 的未經檢查的子切片。

這是索引 str 的未經檢查的替代方法。

安全性

此函數的調用者負責滿足這些先決條件:

  • 起始索引不得超過結束索引;
  • 索引必須在原始切片的範圍內;
  • 索引必須位於 UTF-8 序列邊界上。

否則,返回的字符串切片可能會引用無效內存或違反 str 類型傳達的不變量。

例子

let v = "🗻∈🌏";
unsafe {
    assert_eq!("🗻", v.get_unchecked(0..4));
    assert_eq!("∈", v.get_unchecked(4..7));
    assert_eq!("🌏", v.get_unchecked(7..11));
}

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 str.get_unchecked。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。