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

相关推荐
红尘散仙15 小时前
别再手动录屏了:用 VHS 给终端应用生成会动的文档素材
后端·rust
techdashen1 天前
从 Windows 的 ping.exe 入手:动态库、调用约定与 Rust FFI
开发语言·windows·rust
Venuslite1 天前
Mac系统安装Rust
rust
shimly1234561 天前
RUST Arc
rust
盒马盒马1 天前
Rust:Vec
开发语言·rust
doiito1 天前
【Agent Harness实战】认清现实吧,LLM就是个“超级赌场”,而我们需要的是一套“紧箍咒”
架构·rust
盒马盒马1 天前
Rust:String
java·前端·rust
techdashen1 天前
用 Rust 真正发出 Ping:FFI 类型、newtype 与 MaybeUninit
开发语言·后端·rust
星栈独行2 天前
Makepad 应用如何读文件、调接口、保存数据
前端·程序人生·ui·rust·github
guyoung2 天前
BoxAgnts 工具系统(7)——Skill 模板、Agent 代理与 Cron 调度
rust·agent·ai编程