Vec
Vec
Ă© o buffer padrĂŁo redimensionĂĄvel alocado no heap:
Vec
implementa Deref<Target = [T]>
, o que significa que vocĂȘ pode chamar mĂ©todos de slice em um Vec
.
Speaker Notes
This slide should take about 5 minutes.
Vec
é um tipo de coleção, comoString
eHashMap
. Os dados que ele contém são armazenados no heap. Isso significa que a quantidade de dados não precisa ser conhecida em tempo de compilação. Ela pode crescer ou encolher em tempo de execução.- Observe como
Vec<T>
tambĂ©m Ă© um tipo genĂ©rico, mas vocĂȘ nĂŁo precisa especificarT
explicitamente. Como sempre, com a inferĂȘncia de tipos do Rust,T
foi estabelecido durante a primeira chamada depush
. vec![...]
Ă© uma macro canĂŽnica para usar em vez deVec::new()
e suporta a adição de elementos iniciais ao vetor.- Para indexar o vetor, vocĂȘ usa
[
]
, mas uma exceção do tipo pùnico (panic
) serĂĄ gerada se o Ăndice estiver fora dos limites. Alternativamente, usandoget
vocĂȘ obterĂĄ umOption
. A funçãopop
removerĂĄ o Ășltimo elemento. - Os slices sĂŁo abordados no dia 3. Por enquanto, os alunos sĂł precisam saber que um valor do tipo
Vec
då acesso a todos os métodos de slice documentados, também.