thp-web/md/learn/basics/variables.md

64 lines
1.0 KiB
Markdown

# Variables
thp distinguishes between mutable and immutable variables.
## Immutable variables
Defined with `val`, followed by a variable name and a value.
```thp
val surname = "Doe"
val year_of_birth = 1984
```
### Datatype annotation
Written after the `val` keyword but before the variable name.
```thp
val String surname = "Doe"
val Int year_of_birth = 1984
```
When annotating an immutable variable the `val` keyword is optional
```thp
// Equivalent to the previous code
String surname = "Doe"
Int year_of_birth = 1984
```
This means that if a variable has only a datatype, it is immutable.
## Mutable variables
Defined with `var`, followed by a variable name and a value.
```thp
var name = "John"
var age = 32
```
### Datatype annotation
Written after the `var` keywords but before the variable name.
```thp
var String name = "John"
var Int age = 32
```
When annotating a mutable variable the keyword `var` is still **required**.
```thp
// Equivalent to the previous code
var String name = "John"
var Int age = 32
```