> Какие категории и типы данных существуют (Go)

Уровень: senior · Роль: backend · Категория: Технические вопросы

Компании: YADRO

Стек: Go

> Пример ответа

В Go данные делятся на несколько категорий и типов. Основные категории - это базовые (примитивные) типы, составные типы и ссылочные типы.

Базовые типы:

  • Числовые: целые (int, int8, int16, int32, int64, uint, uint8 (byte), uint16, uint32, uint64), числа с плавающей точкой (float32, float64), комплексные (complex64, complex128).
  • Строковые: string (неизменяемая последовательность байтов в UTF-8).
  • Логический: bool (значения true/false).

Составные типы:

  • Массивы: фиксированной длины, например [5]int.
  • Срезы: динамические массивы, например []int.
  • Структуры: struct для группировки полей разных типов.
  • Указатели: *T для хранения адреса памяти.
  • Функции: функции как тип, например func(int) bool.
  • Интерфейсы: interface{} или конкретные интерфейсы для абстракции поведения.
  • Карты: map[K]V для хранения пар ключ-значение.
  • Каналы: chan T для передачи данных между горутинами.

Ссылочные типы: срезы, карты, каналы, указатели, интерфейсы и функции - они хранят ссылку на данные, а не сами данные. При присваивании копируется ссылка, а не содержимое.

Также есть псевдонимы: byte (для uint8) и rune (для int32). Все типы в Go строго типизированы, неявные преобразования запрещены.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью