前言
Rust数据类型转换
Rust中没有隐式的数据类型转换,只有显式的数据类型转换
数值字面量转换数据类型
缺省值
- 编译器会默认给整数存储为
i32
,默认给浮点数存储为f64
1 2
| let num:i32 = 1; let num:f64 = 1.0
|
数值类型变量之间的转换
1 2
| let num1:i32 = 1; let num2:f64 = num1 as f64;
|
定义数据类型别名
转换为类型别名
自定义结构体实现from
1 2 3 4 5 6 7 8 9
| struct 结构体名 { num:i32 }
impl From<i32> for 结构体名 { fn from(itrm:i32) -> Self { 结构体名{mum:item} } }
|
通过from转换数据类型
1 2
| let s:i32 = 1; let res:结构体名 = 结构体名::from(s);
|
通过into转换数据类型
1 2
| let s:i32 = 1; let res:结构体名 = s.into();
|
字符串与数值类型互转
字符串转换为数值
- 只要目标类型实现了
FromStr
,就可以通过parse()
把字符串转换为目标类型
1
| let res:i32 = "1".parse().unwrap();
|
完成
参考文献
哔哩哔哩——面向加薪学习