Como obter o valor absoluto de um número em Rust?
Olá, colegas! Acabei de começar a aprender Rust depois do Python, e me deparei com um problema aparentemente simples. Em Python, eu costumava usar `abs(-5)` e obter 5. Agora estou tentando fazer o mesmo em Rust, mas o compilador está gerando erros.
Aqui está meu código:
```rust
fn main() {
let x = -5;
let y = abs(x);
println!("Valor absoluto: {}", y);
}
```
O compilador diz: "error[E0425]: cannot find function `abs` in this scope". Tentei escrever `x.abs()`, e funcionou para números inteiros. Mas quando tentei fazer o mesmo com números de ponto flutuante:
```rust
fn main() {
let a: f64 = -3.14;
let b = a.abs();
println!("{}", b);
}
```
Isso também funciona. Mas e se eu quiser escrever uma função universal que aceite tanto números inteiros quanto fracionários? Em Python isso era trivial, mas em Rust não consigo entender como fazer. Existe algum trait ou método geral? Ou preciso escrever funções separadas para cada tipo? Agradeço pela ajuda.