未解决的from_str导入问题

4
我该如何使用from_str?我有这段代码。
let base: u32 = from_str::<u32>(&var)

并且遇到了错误

Error: unresolved name from_str

我在谷歌上搜索了这个错误并找到这个链接,所以我尝试添加以下内容:

use std::u32;
use std::from_str::FromStr

但现在我明白了。
Error: unresolved import `std::from_str::FromStr` could not from `from_str` in `std` 

根据这个 Github 问题,我需要包括它,但Rust找不到它。发生了什么事?这里有一个非常简单的程序,给我带来了这些错误。
use std::u32;
use std::from_str::FromStr;

fn main() {

    let my_str = "String".to_string();
    let base: u32 = from_str(&my_str);
}

这是一个非常微不足道的问题,但这些资源只告诉我如何获得更多的错误。
1个回答

9

使用文档搜索from_str 它们显示FromStr特质现在在std::str中,而不是std::from_str。(在Rust术语中,2014年4月是一个很久以前的时间,早在Rust 1.0.0之前。)

FromStr通常不应直接使用; 相反,您应该使用str.parse方法my_str.parse::<u32>()。请记住,它返回一个Result,因为字符串可能不包含数字。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接