Junior — Middle
É possível implementar ou usar um array dinâmico na linguagem Go e como isso é feito?
sobes.tech IA
Resposta da IA
Em Go, arrays dinâmicos são implementados usando slices. Um slice é uma estrutura que contém um ponteiro para um array, um comprimento e uma capacidade, e permite alterar o tamanho de forma dinâmica.
Exemplo de criação e uso de um array dinâmico:
package main
import "fmt"
func main() {
var s []int // slice vazio
s = append(s, 1) // adiciona um elemento
s = append(s, 2, 3) // adiciona vários elementos
fmt.Println(s) // [1 2 3]
// Pode-se criar um slice com capacidade inicial
s2 := make([]int, 0, 5) // comprimento 0, capacidade 5
s2 = append(s2, 10, 20)
fmt.Println(s2) // [10 20]
}
Os slices expandem-se automaticamente ao adicionar elementos com append; se necessário, um novo array maior é alocado e os dados são copiados.
Assim, para um array dinâmico em Go, basta usar slices e a função append.