字符串转换
转换为字符串
将任何类型转换为 String
就像为该类型实现 ToString
trait 一样简单。您应该实现 fmt::Display
trait,而不是直接这样做,它会自动提供 ToString
并允许像 print!
部分中讨论的那样打印类型。
use std::fmt; struct Circle { radius: i32 } impl fmt::Display for Circle { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "Circle of radius {}", self.radius) } } fn main() { let circle = Circle { radius: 6 }; println!("{}", circle.to_string()); }
解析字符串
将字符串转换为多种类型很有用,但更常见的字符串操作之一是将它们从字符串转换为数字。惯用的方法是使用 parse
函数,并安排类型推断或使用“turbofish”语法指定要解析的类型。以下示例显示了这两种方法。
只要为该类型实现了 FromStr
trait,这就会将字符串转换为指定的类型。标准库中的许多类型都实现了这一点。要在用户定义的类型上获得此功能,只需为该类型实现 FromStr
trait。
fn main() { let parsed: i32 = "5".parse().unwrap(); let turbo_parsed = "10".parse::<i32>().unwrap(); let sum = parsed + turbo_parsed; println!("Sum: {:?}", sum); }