Pular para conteúdo

Quiz 04 - Estruturas de Dados Avançadas 🗄️

1. Qual a principal diferença entre um Array e um Slice em Go?
O Array é mais rápido que o Slice
O Array tem tamanho fixo e o Slice tem tamanho dinâmico
O Slice só aceita strings
Não há diferença, são nomes diferentes para a mesma coisa
2. Como você adiciona um elemento a um Slice?
slice.Add(valor)
slice.Push(valor)
slice = append(slice, valor)
slice[last] = valor
3. O que é um "Map" em Go?
Um mapa geográfico para navegação
Uma coleção desordenada de pares chave-valor
Um slice que contém apenas números
Uma ferramenta para desenhar diagramas
4. Qual a função usada para inicializar um Map ou um Slice com capacidade prévia?
create()
init()
make()
build()
5. O que acontece se você tentar acessar uma chave que não existe em um Map?
O programa sofre um crash imediatamente
Ele retorna null
Ele retorna o "zero value" do tipo do valor (ex: 0 para int)
Ele pergunta ao usuário o que fazer
6. Como você define uma "Struct" em Go?
class Pessoa { ... }
struct Pessoa { ... }
type Pessoa struct { ... }
define Pessoa struct { ... }
7. Go possui herança de classes como em Java ou C#?
Sim, através de extends
Não, Go usa Composição (Embedding) em vez de herança
Sim, mas apenas no pacote main
Sim, mas é considerada má prática
8. O que é um "Método" no contexto de uma Struct?
Uma função global que não pertence a ninguém
Uma função que possui um "receiver" (destinatário), anexando-a a um tipo
O nome técnico para uma variável dentro da struct
Um comentário especial
9. Ao fatiar um slice como `sub := lista[1:3]`, quais índices são incluídos?
1 e 3
1 e 2 (o limite superior é exclusivo)
1, 2 e 3
Apenas o 1
10. Como se remove uma chave de um Map?
map.Remove(chave)
map[chave] = nil
delete(map, chave)
discard(map, chave)