Sobrecarga de Funções
Sobrecarga não é suportada:
- Cada função tem uma única implementação:
- Sempre tem um número fixo de parâmetros.
- Sempre usa um único conjunto de tipos de parâmetros.
- Valores padrão não são suportados:
- Todos as chamadas têm o mesmo número de argumentos.
- Às vezes macros são utilizadas como alternativa.
No entanto, os parâmetros da função podem ser tipos genéricos:
fn pick_one<T>(a: T, b: T) -> T { if std::process::id() % 2 == 0 { a } else { b } } fn main() { println!("lance da moeda: {}", pick_one("cara", "coroa")); println!("prêmio em dinheiro: {}", pick_one(500, 1000)); }
- Ao usar tipos genéricos, o
Into<T>
da biblioteca padrão pode fornecer um tipo de polimorfismo limitado nos tipos de argumento. Veremos mais detalhes em uma seção posterior.