Desenvolver de forma segura con if y orelse
Gestione null sin sorpresas.
Desenvolver de forma segura con if y orelse es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Zig Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Zig Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
You Must Unwrap First
An optional is not the value inside it. Before you can use the contents you have to unwrap it and deal with the null case.
Capture with if
An if on an optional can bind the inner value with a pipe capture. The body runs only when the optional is not null.
if (maybe) |value| {
use(value);
}Handle the null Branch
Add an else to react when the optional is null. Now both outcomes are covered with no chance of a missing case.
if (maybe) |v| {
use(v);
} else {
handleEmpty();
}The Capture Is Unwrapped
Inside the if body the captured name is the plain inner type, not an optional. The question mark is already gone for you.
if (age) |a| {
// a is i32, not ?i32
}orelse Supplies a Default
The orelse operator unwraps an optional, but if it is null it gives back the value on its right instead.
const a = age orelse 0;orelse Is an Expression
Because orelse returns a value, you can use it inline anywhere, like passing a defaulted number straight into a function call.
print(level orelse 1);orelse Can Run Code
The right side of orelse may be a block. Use it to compute a fallback or even return early from the current function.
const v = lookup() orelse return;Force Unwrap with .?
Writing .? asserts the optional is not null and hands back the value. If it is null in a safe build, your program panics.
const a = age.?;Use .? Only When Certain
Reach for .? only when null is truly impossible. Otherwise prefer if or orelse so an empty value never crashes you.
Choose by Intent
Use if to branch on presence, orelse for a quick default, and .? only when you can prove the value is there.
Safety Is the Default
Each tool forces you to acknowledge null. That is why Zig optionals rarely turn into the surprise crashes seen in other languages.
Quick Check
You want a default of 0 when an optional integer is null. Which fits best?
Recap
You can unwrap optionals with if captures, supply defaults via orelse, or assert with .?. Each one makes you face null on purpose. ✅
Preguntas frecuentes
¿La lección «Desenvolver de forma segura con if y orelse» es gratis?
Sí — el texto completo de «Desenvolver de forma segura con if y orelse» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Zig Academy, actualiza a CoddyKit PRO. El curso de Zig Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Desenvolver de forma segura con if y orelse»?
Gestione null sin sorpresas. Practicas Zig Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Zig Academy?
No se requiere experiencia previa. Zig Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Desenvolver de forma segura con if y orelse»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Zig Academy?
Sí. Cada lección de Zig Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Declarar tipos optional
- Desenvolver de forma segura con if y orelse
- Punteros optional y ?*T
- null frente a undefined