Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 61.7MB ·虚拟内存 1300.5MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
您可以使用 str::parse::
let my_string = "27".to_string(); // `parse()` works with `&str` and `String`! let my_int = my_string.parse::<i32>().unwrap();
您可以使用上::<>图所示的turbofish运算符()指定要解析的类型,也可以通过显式类型注释:
let my_int: i32 = my_string.parse().unwrap();
如评论中所述,parse()返回Result。该结果将是一个Err如果字符串不能被解析为指定的类型(例如,字符串"peter"不能被解析为i32)。
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则发生panic”。 parse是一个泛型函数,因此放在尖括号中。
Rust 提供了多种类型转换的方式。1. as T用于数类型之间的转换。ixx, uxx, fxx 都可以。 注意:当溢出的时候,转换不会 panic,而是循环映射值。fn as_type() { // i32 ...