typestar

const y var en Zig

Zig vigila en las dos direcciones: const no puede cambiar, var tiene que hacerlo.

const std = @import("std");

pub fn main() void {
    // const forbids reassignment; var demands mutation actually happen.
    const station = "Gull Rock";
    const lamp_turns: u32 = 148;
    var oil_gallons: f32 = 6.5;
    oil_gallons -= 1.25;

    std.debug.print("{s}: {d} turns tonight\n", .{ station, lamp_turns });
    std.debug.print("oil left: {d:.2} gallons\n", .{oil_gallons});
}

Cómo funciona

  1. const station infiere su tipo; const lamp_turns: u32 lo declara.
  2. var oil_gallons compila solo porque la línea siguiente de verdad la muta.
  3. Una variable sin usar o un var que nunca cambia es error de compilación, no advertencia.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
362
Tokens
81
Ritmo de tres estrellas
70 tpm

Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 69 segundos.

Escribe este fragmento

Paso 2 de 3 en Valores; paso 2 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →