rust中的惯用类型转换String,&str,&[u8],Vec

Conversion From To Method(s)
&str -> String &str String String::from(s), s.to_string(), s.to_owned()
&str -> &[u8] &str &[u8] s.as_bytes()
&str -> Vec &str Vec s.as_bytes().to_vec() or s.as_bytes().to_owned()
String -> &str String &str &s if possible* else s.as_str()
String -> &[u8] String &[u8] s.as_bytes()
String -> Vec String Vec s.into_bytes()
&[u8] -> &str &[u8] &str std::str::from_utf8(s).unwrap()
&[u8] -> String &[u8] String String::from_utf8(s).unwrap()
&[u8] -> Vec &[u8] Vec s.to_vec()
Vec -> &str Vec &str std::str::from_utf8(&s).unwrap()
Vec -> String Vec String String::from_utf8(s).unwrap()
Vec -> &[u8] Vec &[u8] &s if possible* else s.as_slice()

*注意:将 String 转换为 &str 或将 Vec 转换为 &str 或 &[u8] 可能会导致悬挂引用,应该确保 String 或 Vec 在生命周期内有效。

相关推荐
大麦大麦3 小时前
深入剖析 Sass:从基础到进阶的 CSS 预处理器应用指南
开发语言·前端·css·面试·rust·uni-app·sass
Benaso5 小时前
Java,Golang,Rust 泛型的大体对比小记
java·golang·rust
火柴就是我11 小时前
flutter rust bridge 编译成so 文件 或者 .a文件 依赖到主项目
flutter·ios·rust
关山月17 小时前
深入探讨 Rust 的派生特性
rust
luoganttcc18 小时前
riscv-rust 是一个用 Rust 编写并编译为 WebAssembly 的RISC-V处理器和外围设备模拟器项目
rust·wasm·risc-v
Hello.Reader1 天前
在 Rust 中实现面向对象的状态模式
开发语言·rust·状态模式
疯不皮2 天前
全网不唯一,但最热心带读Wasm胶水代码!被面试官问到再也不怕啦~
rust·webassembly·trae
关山月2 天前
Rust 中的 Copy 和 Clone 比较
后端·rust
阳光80882 天前
体验开源OpenHarmony+stratovirt模拟器
linux·ubuntu·rust·开源
今天也想MK代码2 天前
rust编程实战:实现3d粒子渲染wasm
开发语言·rust·wasm