Go

Estruturas de dados em Go

Arrays, slices, maps, structs, pointers, make vs new, valores nil

20 perguntas de entrevista·
Junior
1

O que é um slice em Go?

Resposta

Um slice é uma visão dinâmica sobre um array subjacente que permite manipular sequências de elementos de tamanho variável. Diferentemente dos arrays, que têm tamanho fixo definido em tempo de compilação, os slices podem crescer ou encolher dinamicamente por meio de operações como append. Essa flexibilidade os torna a estrutura de dados sequencial mais usada em Go para armazenar coleções de elementos homogêneos.

2

Qual é a principal diferença entre um array e um slice em Go?

Resposta

A diferença fundamental está no tamanho: um array tem tamanho fixo definido em tempo de compilação e faz parte do próprio tipo, enquanto um slice tem tamanho dinâmico que pode mudar em tempo de execução. Essa distinção implica que dois arrays de tamanhos diferentes são considerados tipos incompatíveis, ao passo que todos os slices do mesmo tipo de elemento são compatíveis. Por isso, os slices são mais flexíveis e mais usados no código Go moderno.

3

Como criar um slice vazio em Go?

Resposta

A sintaxe literal com colchetes vazios seguidos de chaves vazias é a maneira idiomática de criar um slice vazio inicializado. Essa abordagem cria um slice de comprimento 0 porém não nil, pronto para receber elementos via append. Diferentemente de uma simples declaração que resultaria em um slice nil, essa inicialização explícita garante um slice utilizável imediatamente sem risco de comportamento inesperado ao adicionar elementos.

4

Qual função deve ser usada para inicializar um slice com uma capacidade específica?

5

O que acontece ao adicionar um elemento a um slice cuja capacidade foi atingida?

+17 perguntas de entrevista

Domine Go para sua proxima entrevista

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

Comece gratis