String
utf-8 のバイト列を内部に持つ。
- String
- &str
- &[u8] UTF-8バイト列
String と &str
utf8バイト列を所有するのが Vec<u8>
String で、それへのスライス?が &str
。
&str から 作る
let text: String = String::from("hoge");
let text: String = "hoge".to_string();
let text: String = "hoge".to_owned();
&str にする
src.as_str();
Literal
文字列リテラルは、static な lifetime を持つ &str
。
let text: &'static str = "text";
utf-8 バイト列 &[u8]
str::from_utf8(slice::from_raw_parts(source, source_size)).unwrap().to_owned()
文字列からその他の型への変換
use std::str::FromStr
if let Ok(num) = i32::from_str("123") {
}
else{
// 失敗し得る
}