Skip to main content

Static Array

You can create static arrays by using [size]Type, the size must be a compile-time known positive integer:

arr: [5]i32 = {1, 2, 3, 4, 5};

You can also let the length of array to be deduced by using [_]Type:

arr: [_]bool = {true, false, false, true, true, true};

If you want to access the nth elements in the array, you can use arr[index] :

arr: [5]i32 = {1, 2, 3, 4, 5};
foo := arr[3];
bar := arr[foo];

The array element access is bound-checked when @runtimeSafety is on.

Fixed-sized Array Members​

NameTypeDescription
.length()Const Member FunctionReturn the length of the array
.memoryLayout()Const Member FunctionReturn the memory layout type of the array
.size()
.ptr()
.createDynamicArray()

Multidimension Arrays​

Adding multiple square bracket will make a multidimension array, e.g. [1][2][3]i32 will create a 1×2×3 array.

multi_arr: [2][4]i32 = { {1, 2}, {4, 8}, {16, 32}, {64, 128} };

To access the elements in the multidimension array, use [a, b, c...]arr syntax:

multi_arr: [2][4]i32 = { {1, 2}, {4, 8}, {16, 32}, {64, 128} };
foo := multi_arr[1, 2];

Multidimension Array Members​

NameTypeDescription