2015-07-10 51 views
2

如何使用from_str?我有段未解析的進口from_str

let base: u32 = from_str::<u32>(&var) 

並且得到錯誤

Error: unresolved name from_str 

所以我GOOGLE了這個錯誤,並發現this,所以我嘗試添加以下

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

但現在我得到

Error: unresolved import `std::from_str::FromStr` could not from `from_str` in `std` 

根據this github的問題,我需要包括這個,但鐵鏽找不到它。這是怎麼回事?這裏有一個超級簡單的程序,這給了我這些錯誤

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

fn main() { 

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

這是這樣一個簡單的問題,但這些資源只顯示我如何獲得更多的錯誤。

回答

8

Use the docs to search for from_str.它們表明FromStr特徵現在在std::str而不是std::from_str。 (2014年4月是時間以Rust術語,在Rust 1.0.0之前)。

FromStr不應該直接用於一般情況;您應該使用str.parse method代替:my_str.parse::<u32>()。請記住,它返回一個Result,因爲該字符串可能不包含數字。