Nyx distinguishes between immutable bindings (let) and mutable variables (var). Types are written explicitly after a colon, and string interpolation with ${...} makes it easy to embed values inside strings.
// Variables: let (inmutable), var (mutable), tipos básicos e interpolación fn main() -> int { // let es inmutable let nombre: String = "Nyx" let version: int = 12 let activo: bool = true let precio: float = 3.14 print("Nombre: ${nombre}") print("Version: ${version}") print("Activo: ${activo}") // var es mutable — se puede reasignar var contador: int = 0 contador = contador + 1 contador = contador + 1 print("Contador: ${contador}") // Interpolación con expresión let doble: int = contador * 2 print("Doble: ${doble}") // Concatenación de strings let saludo: String = "Hola, " + nombre + "!" print(saludo) return 0 }
Nombre: Nyx Version: 12 Activo: true Contador: 2 Doble: 4 Hola, Nyx!
How it works
let declares an immutable binding. Once assigned, you cannot reassign it — any attempt to do so is a compile-time error. This is the default and preferred form in Nyx, since most values do not need to change.
var declares a mutable variable. You can reassign it freely after its initial declaration. Use var only when mutation is genuinely needed — counters, accumulators, and loop variables are good candidates.
The four basic scalar types shown here are String (UTF-8 text), int (64-bit signed integer), bool (true or false), and float (64-bit double-precision floating point).
String interpolation uses the ${expr} syntax inside a double-quoted string. Any expression can appear inside the braces, and its value is automatically converted to a string. You can also concatenate strings with the + operator.