Para e a partir de Sequências de Caracteres
Converter para Sequência de Caracteres
Converter qualquer tipo para uma String
é tão simples quando implementar a característica ToString
para o tipo. Ao invés de fazer isto diretamente, deves implementar a característica fmt::Display
que auto-magicamente fornece ToString
e também permite imprimir o tipo conforme discutidos na seção 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()); }
Analisando uma Sequência de Caracteres
Um dos tipos mais comum a converter para uma sequência de caracteres é um número. A abordagem idiomática para isto é usar a função parse
e ou organizar para a inferência de tipo ou especificar o tipo a analisar usando a sintaxe 'turbofish'. Ambas alternativas são mostradas no seguinte exemplo.
Isto converterá a sequência de caracteres para o tipo especificado enquanto a característica FromStr
é implementada para este tipo. Isto é implementado para numerosos tipos dentro da biblioteca padrão. Para obter esta funcionalidade num tipo definido pelo utilizador simplesmente implemente a característica FromStr
para este tipo.
fn main() { let parsed: i32 = "5".parse().unwrap(); let turbo_parsed = "10".parse::<i32>().unwrap(); let sum = parsed + turbo_parsed; println!("Sum: {:?}", sum); }