Полное руководство по типам данных и методам Golang

Вот некоторые часто используемые типы данных в языке программирования Go (Golang), а также несколько методов, связанных с каждым типом:

  1. Целые типы:

    • int: размер зависит от базовой платформы (32 или 64 бита).
    • int8, int16, int32, int64: целые числа со знаком определенных размеров.
    • uint8, uint16, uint32, uint64: целые числа без знака определенных размеров.
    • Методы: арифметические операции (+, -, *, /, %), побитовые операции (&, |, ^, <<, >>), сравнения (==, !=, <, >, <=, >=).
  2. Типы с плавающей запятой:

    • float32, float64: числа с плавающей запятой одинарной и двойной точности.
    • Методы: арифметические операции (+, -, *, /), сравнения (==, !=, <, >, <=, >=).
  3. Логический тип:

    • bool: представляет истину или ложь.
    • Методы: логические операции (&&, ||, !).
  4. Тип строки:

    • строка: представляет последовательность символов.
    • Методы: длина (len), конкатенация (+), подстрока, индексация ([]), преобразование в/из байтового фрагмента.
  5. Тип массива:

    • [n]T: последовательность элементов фиксированного размера типа T.
    • Методы: длина (len), индексирование ([]), итерация.
  6. Тип фрагмента:

    • []T: последовательность элементов типа T динамического размера.
    • Методы: длина (len), емкость (cap), добавление (append), нарезка ([]), итерация.
  7. Тип карты:

    • map[K]V: неупорядоченная коллекция пар ключ-значение.
    • Методы: доступ к элементам по ключу ([]), добавление или обновление элементов, удаление элементов, перебор ключей или значений.
  8. Тип структуры:

    • struct: определяемый пользователем составной тип, который группирует ноль или более значений разных типов.
    • Методы: доступ к полям структуры (.), инициализация значений структуры, сравнение структур.
  9. Тип указателя:

    • *T: представляет адрес памяти значения типа T.
    • Методы: разыменование (*), получение адреса (&).
  10. Тип интерфейса:

    • Интерфейс: определяет набор методов, которые должен реализовать конкретный тип.
    • Методы: полиморфизм посредством вызова метода.