To và from Strings
Chuyển đổi sang String
Chuyển đổi bất kỳ kiểu nào sang String
cũng đơn giản như việc triển khai trait ToString
cho kiểu đó. Thay vì làm như vậy trực tiếp, bạn nên triển khai trait
fmt::Display
, thứ mà sẽ tự động cung cấp ToString
và cũng cho phép in kiểu như đã đề cập trong phần 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()); }
Phân tích cú pháp (Parsing) một String
Một trong những kiểu phổ biến để chuyển đổi từ string là thành kiểu số. Cách tiếp cận cho việc chuyển đổi này là sử dụng hàm parse
rồi thông qua suy luận kiểu của Rust hoặc chỉ định kiểu cần phân tích cú pháp bằng cú pháp 'turbofish'. Cả hai lựa chọn này được đề cập trong ví dụ bên dưới.
Điều này sẽ chuyển đổi string thành kiểu được chỉ định miễn là trait FromStr
được triển khai cho kiểu đó. Nó được thực hiện cho nhiều kiểu trong thư viện tiêu chuẩn. Để có được chức năng này trên một kiểu do người dùng tự định nghĩa, chỉ cần triển khai trait FromStr
cho kiểu đó.
fn main() { let parsed: i32 = "5".parse().unwrap(); let turbo_parsed = "10".parse::<i32>().unwrap(); let sum = parsed + turbo_parsed; println!("Sum: {:?}", sum); }