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
const stationinfiere su tipo;const lamp_turns: u32lo declara.var oil_gallonscompila solo porque la línea siguiente de verdad la muta.- Una variable sin usar o un
varque nunca cambia es error de compilación, no advertencia.
Palabras clave y builtins usados aquí
constf32fnpubu32varvoid
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.
Paso 2 de 3 en Valores; paso 2 de 27 en Fundamentos del lenguaje.