Gambas Documentation - /cat/datatypes

/cat/datatypes

# Datatypes

## Native datatypes

Datatype | Description | Default value | Size in memory
--- | --- | --- | ---
`Boolean` | True or false. | `FALSE` | 1 byte
`Byte` | 0...255 | `0` | 1 byte
`Short` | -32.768...+32.767 | `0` | 2 bytes
`Integer` | -2.147.483.648...+2.147.483.647 | `0` | 4 bytes
`Long` | -9.223.372.036.854.775.808...+9.223.372.036.854.775.807 | `0` | 8 bytes
`Single` | Like the float datatype in C. | `0.0` | 4 bytes
`Float` | Like the double datatype in C. | `0.0` | 8 bytes
`Date` | Date and time, each stored in an integer. | `NULL` | 8 bytes
`String` | A variable length string of characters. | `NULL` | 4 bytes
`Variant` | Any datatype. | `NULL` | 12 bytes
`Object` | Anonymous reference to any object. | `NULL` | 4 bytes
`Pointer` | A memory address. | `0` | 4 bytes on 32 bits systems, 8 bytes on 64 bits systems.

## Arrays

Each native datatype has an associated array datatype whose name is the name of the native datatype followed by square brackets: Boolean[], Byte[], Short[], Integer[], Single[], Float[], String[], Date[], Variant[], Pointer[], and Object[].

Moreover, any datatype can have an array equivalent. For example: String[][], for an array of string arrays ; Collection[] for an array of collections ; and so on.

The class of non-native datatype arrays is created on the fly by the interpreter.

### See also

- Native Arrays