1
resposta

[Dúvida] DIFERENÇA ENTRE O MATCH E O SWITCH?

QUAL A DIFERENÇA ENTRE OS DOIS POIS AMBOS SÃO SINONIMOS CORRETO?

POREM UM RETORNA VALOR E OUTRO NAO.

POREM TEM O MESMO SENTIDO E USO?

1 resposta

Oi Levi! Tudo joia?

O match em Rust é uma construção poderosa que é usada para comparar um valor contra uma série de padrões e executar o código correspondente ao padrão que casar. Uma das principais diferenças entre o match do Rust e o switch de outras linguagens, como C ou JavaScript, é que o match é uma expressão, o que significa que ele sempre retorna um valor. Isso é diferente do switch, que é uma declaração e não retorna um valor por si só.

Por exemplo, em Rust, você pode usar o match para atribuir o resultado de uma comparação a uma variável:

let linguagem = "PHP";
let proposito = match linguagem {
    "PHP" => "Web",
    "Kotlin" => "Android",
    "Python" => "Data Science",
    _ => "Desconhecido",
};
println!("O propósito de {} é {}", linguagem, proposito);

Nesse exemplo, o match verifica o valor de linguagem e atribui o valor correspondente a proposito. Se linguagem não corresponder a nenhum dos casos listados, ele retorna "Desconhecido" devido ao uso do _, que é um coringa para qualquer valor não coberto explicitamente.

Outra diferença importante é que o match exige que todos os casos possíveis sejam cobertos, seja explicitamente ou com o uso de um coringa (_). Isso torna o match mais seguro, pois o compilador Rust irá avisá-lo se houver algum caso não tratado, ajudando a evitar erros em tempo de execução.

Espero que isso esclareça as suas dúvidas e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.