rust 将string里的数值存到i32为变量里
时间: 2024-05-12 13:20:56 浏览: 12
可以使用parse方法将string类型的数值转换为i32类型的变量。例如:
```rust
let my_string = "123";
let my_number = my_string.parse::<i32>().unwrap();
```
这里,我们首先定义了一个字符串my_string,它包含了一个数值"123"。然后,我们使用parse方法将该字符串转换为i32类型的变量my_number。最后,我们使用unwrap方法获取my_number的值。
如果字符串中包含的不是一个有效的数值,则parse方法会返回一个错误。因此,通常需要使用unwrap或者其他的错误处理方法来处理可能的错误。
相关问题
rust String转i32
可以使用`parse()`方法将`String`类型转换为`i32`类型,示例如下:
```
let num_str = "123";
let num = num_str.parse::<i32>().unwrap();
```
其中,`parse()`方法会尝试将字符串解析为指定类型的值,如果解析成功则返回`Ok`枚举类型的结果值,否则返回`Err`枚举类型的错误信息。因此,上述代码中使用了`unwrap()`方法来获取`Ok`枚举类型的结果值,并将其赋值给`num`变量。如果`num_str`字符串无法解析为`i32`类型的值,则会引发`unwrap()`方法的panic错误。为避免这种情况,可以使用`match`或`if let`等语句来处理`parse()`方法的返回值。
rust怎么创建channel::<i32>()全局变量
可以使用lazy_static库,将channel::<i32>()定义为lazy_static!宏中的静态变量。示例代码如下:
```rust
use std::sync::mpsc::channel;
use lazy_static::lazy_static;
lazy_static! {
static ref CHANNEL: (Sender<i32>, Receiver<i32>) = channel();
}
fn main() {
// 在这里可以使用CHANNEL发送和接收i32类型的消息
}
```
这样,在程序中的任何地方都可以使用CHANNEL发送和接收i32类型的消息了。