Перейти к основному содержимому

Целочисленные типы данных в Go

Нужно целое число без дробной части, например 35, -50 или 1345000? Для этого и предназначены целочисленные типы.

Они делятся на два семейства:

  • Знаковые целые - хранят как положительные, так и отрицательные числа
  • Беззнаковые целые - хранят ноль и положительные числа, но никогда отрицательные

Примечание: Если не указать тип, Go использует int — тип по умолчанию для целых чисел.


Знаковые целые

Семейство ключевых слов int объявляет знаковые целые, поэтому такие переменные принимают как отрицательные, так и положительные числа:

Пример

Prompt
Объявите две знаковые переменные типа int (положительную и отрицательную). Выведите их тип и значение с помощью Printf.
Вывод: Программа на Go и захваченный вывод

Беззнаковые целые

Семейство ключевых слов uint объявляет беззнаковые целые, поэтому такие переменные не могут хранить отрицательные числа:

Пример

Prompt
Объявите две беззнаковые переменные типа int. Выведите их тип и значение с помощью Printf.
Вывод: Программа на Go и захваченный вывод

Какой целочисленный тип использовать?

Выбирайте, исходя из значений, которые собираетесь хранить.

Каждый тип охватывает только определённый диапазон, и Go сообщает об ошибке, когда значение выходит за его пределы. Возьмём int8: он охватывает диапазон от -128 до 127, поэтому 1000 в него не поместится.