Назад к вопросам
Junior — Middle
77
Можно ли реализовать или использовать динамический массив в языке Go и каким образом это делается?
Ответ от нейросети
sobes.tech AI
В Go динамические массивы реализуются с помощью срезов (slices). Срез — это структура, которая содержит указатель на массив, длину и ёмкость, и позволяет динамически изменять размер.
Пример создания и использования динамического массива:
package main
import "fmt"
func main() {
var s []int // пустой срез
s = append(s, 1) // добавляем элемент
s = append(s, 2, 3) // добавляем несколько элементов
fmt.Println(s) // [1 2 3]
// Можно создавать срез с начальной ёмкостью
s2 := make([]int, 0, 5) // длина 0, ёмкость 5
s2 = append(s2, 10, 20)
fmt.Println(s2) // [10 20]
}
Срезы автоматически расширяются при добавлении элементов через append, при необходимости выделяется новый массив большего размера, и данные копируются.
Таким образом, для динамического массива в Go достаточно использовать срезы и функцию append.