Junior
107
questionbank

Какие существуют типы данных в Go?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

В Go существует четыре категории типов данных:

  1. Базовые типы (Basic types) - предопределенные компилятором.

    • Булевы: bool
    • Числовые:
      • Целочисленные: int, int8, int16, int32, int64, uint, uint8 (byte), uint16, uint32, uint64, uintptr
      • С плавающей запятой: float32, float64
      • Комплексные числа: complex64, complex128
    • Строковые: string
  2. Составные типы (Aggregate types) - коллекции фиксированного размера.

    • Массивы: [n]T (где n - размер, T - тип элементов)
    • Структуры: struct {} (коллекция именованных полей разного типа)
  3. Референсные типы (Reference types) - типы-ссылки, передаются по ссылке, хранят указатель на базовые данные.

    • Слайсы: []T (динамический массив, построен на основе массива)
    • Карты (Map): map[K]V (коллекция пар ключ-значение)
    • Указатели: *T (хранят адрес переменной)
    • Каналы: chan T, chan<- T, <-chan T (для синхронизации и коммуникации горутин)
    • Функции: func(...) (...) (типом является сигнатура функции)
  4. Интерфейсные типы (Interface types) - определяют набор сигнатур методов, реализуемых типами данных.

    • Интерфейсы: interface{} (пустой интерфейс), interface{ methodName(...) ... }

Примеры:

go