Skip to content

Типы данных Go

Ниже приведены все встроенные типы в языке Go для справки, более подробная информация доступна в Справочном руководстве - Типы.

Логический тип

Логический тип имеет только истинное и ложное значения.

ТипОписание
booltrue — истина, false — ложь

TIP

В Go целое число 0 не представляет ложь, а ненулевое целое число не представляет истину, то есть числа не могут заменять логические значения в логических суждениях — это два совершенно разных типа.

Целочисленные типы

В Go для целых чисел разной разрядности определены разные типы, в основном разделённые на беззнаковые и знаковые целые типы.

Тип и описание
uint8Беззнаковый 8-битный целый тип
uint16Беззнаковый 16-битный целый тип
uint32Беззнаковый 32-битный целый тип
uint64Беззнаковый 64-битный целый тип
int8Знаковый 8-битный целый тип
int16Знаковый 16-битный целый тип
int32Знаковый 32-битный целый тип
int64Знаковый 64-битный целый тип
uintБеззнаковый целый тип, минимум 32 бита
intЦелый тип, минимум 32 бита
uintptrЭквивалентен беззнаковому 64-битному целому типу, но предназначен для хранения адресов указателей и арифметики указателей.

Типы с плавающей точкой

Числа с плавающей точкой IEEE-754, в основном разделённые на числа одинарной и двойной точности.

ТипОписание
float3232-битное число с плавающей точкой IEEE-754
float6464-битное число с плавающей точкой IEEE-754

Комплексные типы

ТипОписание
complex12864-битные вещественная и мнимая части
complex6432-битные вещественная и мнимая части

Символьные типы

Строки в Go полностью совместимы с UTF-8.

ТипОписание
byteЭквивалентен uint8, может представлять символы ASCII
runeЭквивалентен int32, может представлять символы Unicode
stringСтрока — это последовательность байтов, может быть преобразована в тип []byte (срез байтов)

Производные типы

ТипПример
Массив[5]int — массив из 5 целых чисел
Срез[]float64 — срез 64-битных чисел с плавающей точкой
Отображениеmap[string]int — отображение с ключами типа string и значениями типа int
Структураtype Gopher struct{} — структура Gopher
Указатель*int — указатель на целое число
Функцияtype f func() — тип функции без параметров и возвращаемого значения
Интерфейсtype Gopher interface{} — интерфейс Gopher
Каналchan int — канал целых чисел

Нулевое значение

В официальной документации нулевое значение называется zero value. Нулевое значение — это не просто число ноль в буквальном смысле, а скорее пустое значение или значение по умолчанию для типа.

ТипНулевое значение
Числовые типы0
Логический типfalse
Строковый тип""
МассивНабор нулевых значений соответствующего типа фиксированной длины
СтруктураСтруктура, все поля которой имеют нулевые значения
Срез, отображение, функция, интерфейс, канал, указательnil

nil

nil похож на none или null в других языках, но не идентичен им. nil — это просто нулевое значение некоторых ссылочных типов, и он не принадлежит ни к какому типу. Из исходного кода видно, что nil — это просто переменная.

go
var nil Type

И выражение nil == nil не скомпилируется.

Golang by www.golangdev.cn edit