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

相关推荐
大卫小东(Sheldon)30 分钟前
革命你的 Git 提交消息 - GIM 1.8.0 发布了!
ai·rust·管理
该用户已不存在1 小时前
Rust性能调优:从劝退到真香
后端·rust
Java水解1 小时前
Rust入门:运算符和数据类型应用
后端·rust
2301_795167203 小时前
玩转Rust高级应用 如何理解 Rust 实现免疫数据竞争的关键是Send 和 Sync 这两个 trait
开发语言·算法·rust
全栈小53 小时前
【Rust】从0到1开发和运行Web相关功能,并简单实现数据库连接和查询
数据库·rust
全栈小56 小时前
【Rust】系统编程语言的核心语法以及常见应用场景浅谈:系统、Web、网络、命令行
rust
星释6 小时前
Rust 练习册 :深入探索XOR加密与流密码
开发语言·网络·rust
禁默7 小时前
基于Rust实现爬取 GitHub Trending 热门仓库
开发语言·rust·github
RustFS8 小时前
RustFS 重要变更,让容器化部署更安全
rust
xuejianxinokok8 小时前
深入了解RUST迭代器 - 惰性、可组合的处理
后端·rust