Sobes.tech
Back to questions
Middle+
3

Расскажи про основные структуры данных в Go.

Companies where asked
А7

Answer from AI

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]
}