Menu
Coddy logo textTech

O que é um 'Option'?

Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 35 de 66.

Na programação, você frequentemente encontra situações em que um valor pode ou não estar presente. Por exemplo, pesquisar um item em uma lista pode encontrar o item, ou ele pode não existir de forma alguma. As linguagens de programação tradicionais costumam usar valores especiais como null ou -1 para representar o "nada", mas essa abordagem pode levar a bugs e falhas.

Rust adota uma abordagem diferente com o enum Option<T>. Este é um tipo embutido que representa explicitamente a possibilidade de ausência. Em vez de adivinhar se um valor existe, o Rust força você a lidar com ambos os casos antecipadamente.

O enum Option tem exatamente duas variantes:

Some(value)  // Contém um valor
None         // Não contém nenhum valor

Quando uma função pode não retornar um valor, ela retorna um Option. Se houver um valor para retornar, ela o envolve em Some. Se não houver valor, ela retorna None.

Isso torna a ausência potencial explícita no sistema de tipos, impedindo que você use acidentalmente um valor que não existe.

Você já viu o Option em ação com o método .get() do hash map - ele retorna Some(&value) quando uma chave existe, ou None quando não existe. Este padrão aparece em todo o Rust, tornando seu código mais seguro e previsível.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow