rust 常用类型转换

原生类型

x类型\至类型 i32 u32 f64 String
i32 n/a x as u32 x as f64 x.to_string()
u32 x as u32 n/a x as f64 x.to_string()
f64 x as i32 x as u32 n/a x.to_string()
String* x.parse().unwrap() x.parse().unwrap() x.parse().unwrap() n/a
  • *可以看到i32, u32, f64 到String类型是同一个函数,这样的话,如何来确定要转换至的具体类型?就是类型推导!当然,如果rust无法通过上下文推导出类型,就需要给出提示,例如x.parse::<i32>().unwrap()。但是通常情况下,都不需要提示即可自动推导出类型。

&str/String/collections::string::String

x类型\至类型 String &str
String n/a &*x
&str x.to_string() n/a

Vec<T>/&[T]/Box<[T]>

x类型\至类型 Vec<T> &[T] Box<[T]>
Vec<T> n/a &x[..] x.into_boxed_slice()
&[T] x.to_vec() n/a Box::new(*x)
Box<[T]> x.to_vec() &*x n/a
上一篇:从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十║Vue基础终篇:传值+组件+项目说明


下一篇:rust练习之高阶过程