1/9
Slices in Golang
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
O que é um slice em Golang?
Um slice em Golang é uma estrutura que referencia uma subsequência de elementos em um array, permitindo redimensionamento dinâmico. Ele contém um ponteiro para o array subjacente, o comprimento e a capacidade.
Como criar um slice vazio em Golang?
var s []int
Isso cria um slice s vazio que pode ser inicializado ou expandido posteriormente.
Como inicializar um slice com valores específicos?
s := []int{1, 2, 3}
Isso cria um slice s com os valores 1, 2, e 3.
Como criar um slice a partir de um array existente?
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4]
O slice s contém os valores [2, 3, 4].
O que acontece se tentarmos acessar um índice fora do limite de um slice?
Um runtime panic ocorre se tentarmos acessar um índice fora do limite de um slice, pois Golang faz verificação de limites em tempo de execução.
Como é possível adicionar elementos a um slice em Golang?
s := []int{1, 2}
s = append(s, 3, 4)
Isso adiciona os valores 3 e 4 ao slice s, resultando em [1, 2, 3, 4].
O que representa a função cap() quando aplicada a um slice?
A função cap() retorna a capacidade do slice, ou seja, o tamanho máximo que o slice pode ter sem precisar alocar mais memória.
O que a função len() retorna quando aplicada a um slice?
A função len() retorna o comprimento atual do slice, que é o número de elementos que ele contém.
O que acontece quando a capacidade de um slice é excedida?
Quando a capacidade de um slice é excedida, o slice é automaticamente realocado com o dobro da capacidade anterior, e os elementos existentes são copiados para a nova área de memória.
Como copiar um slice em outro em Golang?
copy(destSlice, srcSlice)
Essa função copia os elementos do srcSlice para o destSlice. A quantidade de elementos copiados é o menor entre o comprimento dos dois slices.