Типы и переменные
Gentee - язык строгой типизации, поэтому типы занимают очень важное место при программировании на Gentee. Все типы можно разбить на две три группы: числовые типы, структурные типы и тип reserved.
Числовые типы
Все числовые типы встроены в язык. uint является самым распространенным числовым типом. В языке Gentee нет указателей и логического типа, их функции выполняет тип uint. Типы byte, ubyte, short, ushort при выполнении арифметических операций рассматриваются как типы int или uint, в зависимости от знака. Если вы будете указывать их в качестве полей в структурных типах, то они будут занимать соответствующее количество байт.
Имя типа | Размер | Минимум | Максимум | Примечание |
Целочисленные типы | ||||
byte | 1(4) | -128 | +127 | знаковый |
ubyte | 1(4) | 0 | +255 | беззнаковый |
short | 2(4) | -32768 | +32767 | знаковый |
ushort | 2(4) | 0 | +65535 | беззнаковый |
int | 4 | -2147483648 | +2147483647 | знаковый |
uint | 4 | 0 | +4294967295 | беззнаковый |
long | 8 | -2^63 | +2^63 - 1 | знаковый |
ulong | 8 | 0 | +2^64 - 1 | беззнаковый |
Числа с плавающей точкой | ||||
float | 4 | (+ или -)10E-37 | (+ или -)10E38 | ; |
double | 8 | (+ или -)10E-307 | (+ или -)10E308 |
Структурные типы
Структурные типы описываются командой type. При этом типы строка ( str), буфер (buf), коллекция (collection) встроены в язык. Много типов определено в стандартной и прочих библиотеках (массивы, хэш-таблицы и т.д.).
Тип reserved
Тип reserved является особым типом и не принадлежит ни к числовым, ни к структурным типам. Он представляет собой массив байтов и описывается и используется как массив. Его особенность в том, что резервируется область памяти в том месте, где он описан. Например, можно указать поле в структуре reserved field[50]. Это означает, что в структуре будет зарезервирована область размером 50 байт. Если мы опишем это же самое внутри функции, то мы отведем 50 байт в стэке для данной локальной переменной. Резервируемый размер ограничен 65535 байтами. Для указания размера нельзя использовать выражение, в квадратных скобках должно стоять число.