注意:此问题包含1.0版之前的代码!答案是正确的。要转换str成int拉斯特,我可以这样做:let my_int = from_str::<int>(my_str);我知道如何将a转换String为an 的唯一方法int是获取其中的一部分,然后from_str像这样使用它:let my_int = from_str::<int>(my_string.as_slice());有没有一种方法可以直接将a转换String为int?
3 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
let my_u8: u8 = "42".parse::<u8>().unwrap();
let my_u32: u32 = "42".parse::<u32>().unwrap();
// or, to be safe, match the `Err`
match "foobar".parse::<i32>() {
Ok(n) => do_something_with(n),
Err(e) => weep_and_moan(),
}
parse返回a core::result::Result<u32, core::num::ParseIntError>并unwrap“将值v从Option移出,如果它是Some(v)[或]如果自身值等于None则发生恐慌”。
parse是一个泛型函数,因此放在尖括号中。
守着星空守着你
TA贡献1799条经验 获得超8个赞
对于最近的每晚,您可以执行以下操作:
let my_int = from_str::<int>(&*my_string);
这里发生的事情是String现在可以将其取消引用到中str。但是,该函数需要一个&str,因此我们必须再次借用。作为参考,我相信这种特殊的模式(&*)被称为“交叉借贷”。
- 3 回答
- 0 关注
- 3930 浏览
添加回答
举报
0/150
提交
取消