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?
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?
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!