Rust · Essencial · Inglês · Técnico
Option
Enum da biblioteca padrão com as variantes Some(valor) e None, que representa um valor que pode estar ausente. Substitui o null das outras linguagens.
Onde usar
Aparece em buscas, parsers e campos opcionais. O compilador obriga a tratar o None antes de usar o valor, o que elimina erros de ponteiro nulo.
Em código
let nomes = vec!["ana", "rui"];
match nomes.get(5) {
Some(n) => println!("{n}"),
None => println!("sem item"),
}Exemplos
The lookup returns an Option.
A busca devolve um Option.
Handle the None case before returning.
Trate o caso None antes de retornar.
Cuidado
Não é um null disfarçado: não dá para usar o valor sem desembrulhá-lo, e unwrap em None causa panic.
Sinônimos
valor opcional