Расскажи про основные структуры данных в Go.
Ответ от нейросети
sobes.tech AI
В Go основные структуры данных включают:
-
Массивы (arrays) — фиксированного размера последовательности элементов одного типа. Размер задаётся при объявлении и не меняется.
-
Срезы (slices) — динамические, более гибкие обёртки над массивами. Срезы содержат указатель на массив, длину и ёмкость. Позволяют удобно работать с последовательностями переменной длины.
-
Карты (maps) — хеш-таблицы, реализующие ассоциативные массивы (ключ-значение). Ключи и значения могут быть разных типов, ключи должны быть сравнимы.
-
Структуры (structs) — пользовательские типы, объединяющие несколько полей разных типов в одну сущность.
-
Интерфейсы (interfaces) — описывают набор методов, которые должен реализовать тип. Позволяют работать с разными типами через общий интерфейс.
Пример использования среза и карты:
package main
import "fmt"
func main() {
// Срез
nums := []int{1, 2, 3}
nums = append(nums, 4)
fmt.Println(nums) // [1 2 3 4]
// Карта
ages := map[string]int{"Alice": 30, "Bob": 25}
ages["Charlie"] = 35
fmt.Println(ages) // map[Alice:30 Bob:25 Charlie:35]
}