本文簡要介紹rust語言中 Primitive Type str
的用法。
字符串切片。
str
類型,也稱為'string slice',是最原始的字符串類型。它通常以其借用的形式出現,&str
。它也是字符串文字的類型,&'static str
。
字符串切片始終是有效的 UTF-8。
例子
字符串文字是字符串切片:
let hello = "Hello, world!";
// with an explicit type annotation
let hello: &'static str = "Hello, world!";
它們是'static
,因為它們直接存儲在最終二進製文件中,因此在'static
持續時間內有效。
表示
&str
由兩個組件組成:指向某些字節的指針和長度。您可以使用 as_ptr
和 len
方法查看這些:
use std::slice;
use std::str;
let story = "Once upon a time...";
let ptr = story.as_ptr();
let len = story.len();
// story has nineteen bytes
assert_eq!(19, len);
// We can re-build a str out of ptr and len. This is all unsafe because
// we are responsible for making sure the two components are valid:
let s = unsafe {
// First, we build a &[u8]...
let slice = slice::from_raw_parts(ptr, len);
// ... and then convert that slice into a string slice
str::from_utf8(slice)
};
assert_eq!(s, Ok(story));
注意:此示例顯示了 &str
的內部結構。正常情況下,不應使用unsafe
來獲取字符串切片。請改用as_str
。
相關用法
- Rust str.make_ascii_uppercase用法及代碼示例
- Rust str.strip_suffix用法及代碼示例
- Rust str.trim_left用法及代碼示例
- Rust str.char_indices用法及代碼示例
- Rust str.to_ascii_lowercase用法及代碼示例
- Rust str.trim用法及代碼示例
- Rust stringify用法及代碼示例
- Rust str.split_terminator用法及代碼示例
- Rust str.to_uppercase用法及代碼示例
- Rust str.starts_with用法及代碼示例
- Rust str.escape_default用法及代碼示例
- Rust str.rmatches用法及代碼示例
- Rust str.trim_right用法及代碼示例
- Rust str.rsplit_terminator用法及代碼示例
- Rust str.rsplit_once用法及代碼示例
- Rust str.split_once用法及代碼示例
- Rust str.len用法及代碼示例
- Rust str.chars用法及代碼示例
- Rust str.trim_left_matches用法及代碼示例
- Rust str.rsplit用法及代碼示例
- Rust str.eq_ignore_ascii_case用法及代碼示例
- Rust str.rfind用法及代碼示例
- Rust str.is_ascii用法及代碼示例
- Rust str.find用法及代碼示例
- Rust str.trim_right_matches用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Primitive Type str。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。