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

相关推荐
花褪残红青杏小30 分钟前
Rust图像处理第13节-任意角度旋转:旋转矩阵 + 双线性插值 + 自动补白边
rust·webassembly·图形学
梦帮科技5 小时前
GRAVIS v5.5:向硬核桌面端进化与云端多节点容灾部署实践
windows·架构·rust·自动化·区块链·智能合约·数字货币
梦醒沉醉6 小时前
2、Rust程序设计语言——常见编程概念
rust
程序员爱钓鱼7 小时前
Rust 开发环境安装(Windows|macOS|Linux)
后端·rust
花褪残红青杏小17 小时前
Rust图像处理第12节-图片翻转与旋转:坐标重映射几何变换
rust·webassembly·图形学
CodeStats1 天前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go
程序员爱钓鱼1 天前
为什么学习 Rust?Rust 能做什么?
后端·rust
米沙AI1 天前
Rust001--08字符串高级操作
rust
独孤留白1 天前
从C到Rust:容器,容器,容器,Index和Iterator这两口糖甜不甜?
rust
小杍随笔1 天前
【Rust全栈项目接入UUID主键实战:从选型到PostgreSQL适配(含v7优化)】
开发语言·postgresql·rust