Rust

Iterators & Closures

Iterator trait, iterator adapters (map, filter, fold), sintaxe de closures, move closures, Fn traits

22 perguntas de entrevista·
Mid-Level
1

Qual trait um tipo deve implementar para poder ser usado em um loop for em Rust?

Resposta

O trait IntoIterator permite que um tipo seja convertido em um iterador. O loop for chama automaticamente into_iter() na expressão. Tipos como Vec, arrays e ranges implementam esse trait por padrão, o que permite percorrê-los diretamente com for.

2

Qual método do trait Iterator deve obrigatoriamente ser implementado?

Resposta

O método next() é o único método obrigatório do trait Iterator. Ele retorna Option<Self::Item>, seja Some(item) se ainda houver elementos, ou None quando a iteração termina. Todos os outros métodos como map, filter ou collect têm implementações padrão baseadas em next().

3

Qual é a diferença entre iter(), iter_mut() e into_iter() em um Vec<T>?

Resposta

iter() retorna um iterador sobre referências imutáveis (&T), iter_mut() sobre referências mutáveis (&mut T), e into_iter() consome o Vec e retorna os elementos por valor (T). A escolha depende se você quer ler, modificar ou tomar posse dos elementos.

4

O que é um iterador lazy em Rust e por que é importante?

5

Qual é a sintaxe correta para definir uma closure que recebe dois parâmetros i32 e retorna sua soma?

+19 perguntas de entrevista

Domine Rust para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis