Variables
A variable is a named storage for a value. Variables are declared using the var
keyword :
var foo : int = 1
Also you can declare a variable without type, in this case, the type will be inferred by the value assigned to it:
var foo = 1
Non nullable and nullable
Null safety is a feature that allows you to declare that a variable can be null or not null, and Sacalon uses this feature to make sure that your code is safe.
Sacalon's variables and constants are non-nullable by default that means that they cannot be null(NULL
) and you can't assign NULL
to them and you should assign a value to them when you declare them.
var foo : int = 1 // non-nullable
var foo_error : int // error : nullable variable must be assigned a value
But you can make variables and constants nullable by adding ?
to their type:
var bar : int? = 1 // nullable
so you can use NULL
to set a variable to null :
bar = NULL // ok
Pointers
Pointers are a way to access the memory address of a variable. You can declare a pointer using the ^
operator after the type:
var foo : int^?
NOTE: pointers are non-nullable by default, use ?
to make it nullable:
You use cast to assign a value to a pointer:
foo = (int^)1
Finally, you can use the ^
operator to access the value stored in a pointer:
var foo : int^ = (int^)1
print(^foo) // 1
NOTE: We recommend you to always allocate pointers with new
keyword and deallocate with delete
keyword, for more information go to Memory management chapter.
NOTE: Currently only one level of pointers are supported.
Static variables
Static variables are variables that are declared outside of a function and are accessible from anywhere in the program.
Static variables are declared using the static
keyword before the type:
var foo : static int = 1