📜  将字符串转换为 i32 rust (1)

📅  最后修改于: 2023-12-03 15:25:17.834000             🧑  作者: Mango

将字符串转换为 i32 的 Rust 介绍

在 Rust 中,将字符串转换为整数类型需要使用 parse 方法,并且需要指定具体的整数类型。对于 i32 类型,我们可以这样做:

let s = "42";
let n: i32 = s.parse().expect("Failed to parse");

这里我们首先声明了一个字符串 s,它包含了要转换的整数的文本表示。然后,我们调用 parse 方法将它转换为 i32 类型。parse 方法返回一个 Result 类型的值,因为解析过程可能会失败。如果解析失败了,我们可以使用 expect 方法来抛出一个错误信息。

同时,我们也可以使用 match 方法来处理 Result 类型的值:

let s = "42";
let n: i32 = match s.parse() {
    Ok(n) => n,
    Err(_) => {
        println!("Failed to parse {}", s);
        0
    }
};

这里在 match 语句中,我们通过 Ok(n) 语句块来处理解析成功的情况,通过 Err(_) 语句块来处理解析失败的情况。

在处理 Err 的情况下,我们可以使用 println! 宏来打印一条错误信息,并返回默认值 0。

需要注意的是,如果字符串的文本表示不能转换为 i32 类型,这将引发运行时错误,所以我们需要确保传递的字符串符合要求。