Stringsから変換、Stringに変換
Stringに変換
ある型からStringに変換するには、その型にToStringトレイトを実装するだけで
良いです。 直接実装するより、print!節で説明したように、ToStringを
自動的に提供するfmt::Displayトレイトを実装した方が良いです。
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()); }
Stringを解析する
文字列から変換される最も一般的な型は数値型です。慣用的なアプローチは、
parse関数を使い、型推論か「ターボフィッシュ(turbofish)」構文を
使って型を指定することです。両方の例が以下に紹介されています。
これで文字列をその型にFromStrトレイトが実装されている限り、指定した型に変換することが
できます。これは標準ライブラリ内の数多くの型で実装できます。この機能をユーザー定義型に
追加するには、単純にFromStrトレイトを実装すればよいだけです。
fn main() { let parsed: i32 = "5".parse().unwrap(); let turbo_parsed = "10".parse::<i32>().unwrap(); let sum = parsed + turbo_parsed; println!("Sum: {:?}", sum); }