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 在生命周期内有效。

相关推荐
柯南466817 小时前
【AI开发之Rust】第 8 课:泛型、trait 与 trait 对象
rust·编程语言
yume_sibai18 小时前
12-Rust 性能优化指南(性能分析 + 内存优化 + SIMD + 并发优化 + 编译器优化 + 基准测试)
开发语言·性能优化·rust
geovindu19 小时前
rust:Builder Pattern
开发语言·设计模式·rust·建造者模式
传奇开心果编程1 天前
【Rust入门知识点学与练】第33课:异步编程入门(async/await)强化
开发语言·学习·rust
传奇开心果编程1 天前
【Rust入门知识点学与练】第34课:所有权与借用
开发语言·学习·rust
柒儿吖1 天前
SSCom 重构全记录:用 Rust 把串口调试助手送上鸿蒙 PC、macOS、Windows和Linux
测试工具·rust·harmonyos
Kapaseker1 天前
Rust 为什么越来越受欢迎?开发者角度谈
rust
孙启超1 天前
【AI开发之Rust】第 6 课:结构体、枚举与方法 —— 开始定义自己的类型
开发语言·人工智能·后端·ai·rust
foolishlee1 天前
Rust 下载依赖包
rust
蓝宝石的傻话1 天前
MiBee Eye 蜂眼:把闲置的 Linux 小板做成一台能进国标平台的摄像头
golang·rust