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

相关推荐
Kapaseker7 小时前
Rust 不用写 for 循环?看我怎么写!
rust
奶油话梅糖8 小时前
打开项目 0.9 秒、内存只有 IDEA 的 1/12:OpenIDEA 用 Rust 把 IntelliJ IDEA 重造了一遍
java·rust·github·intellij-idea
Vex2une1 天前
Google Picasa 精神续作:Rust 重写的离线本地相册工具‌
rust·图片管理·picasa·马良·本地照片管理·重复图片检测·maliang
unconditional2 天前
我拆了 sdkm 的自定义 SDK 机制:所谓“内置”,就是官方提前帮你填好的表
rust·开源
Ramble_Naylor3 天前
Rust深度解读:Send 与 Sync 的本质与线程安全边界
python·算法·rust
Ramble_Naylor3 天前
Rust深度解读:异步流(Async Streams)与生成器的处理艺术
开发语言·后端·rust
RobinDevNotes3 天前
Memvid 把 Agent 长期记忆塞进一个文件
人工智能·rust·openresty
miofly3 天前
GitHub 今日推荐|agent-desktop:通过无障碍树让 AI 代理直接操作桌面应用
rust·开源·github
geovindu3 天前
rust:N-Barrier Pattern
开发语言·后端·设计模式·rust·屏障模式·并发型模式
Ramble_Naylor3 天前
Rust深度解读:高性能 Web 网关与 Axum 架构剖析
前端·架构·rust