Rust类型转换

2019-11-01  本文已影响0人  空乱木

原文链接:http://rooat.com/conversion/string.html

## 解析字符串

我们经常需要把字符串转成数字。完成这项工作的标准手段是用 parse 函数。我们得 提供要转换到的类型,这可以通过不使用类型推断,或者用 “涡轮鱼” 语法(turbo fish,<>)实现。

只要对目标类型实现了 FromStr trait,就可以用 parse 把字符串转换成目标类型。 标准库中已经给无数种类型实现了 FromStr。如果要转换到用户定义类型,只要手动实现 FromStr 就行。

unwrap

fn main() {
    let parsed: i32 = "5".parse().unwrap();
    let turbo_parsed = "10".parse::<i32>().unwrap();
    let sum = parsed + turbo_parsed;
    println!{"Sum: {:?}", sum};
}

参考链接:
https://www.jianshu.com/p/7b4a74856cdd

unwrap参考链接:
https://www.oschina.net/translate/rust-error-handling?print

enum Option<T> {
    None,
    Some(T),
}

impl<T> Option<T> {
    fn unwrap(self) -> T {
        match self {
            Option::Some(val) => val,
            Option::None =>
              panic!("called `Option::unwrap()` on a `None` value"),
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读