Por qué Zig no tiene asignaciones ocultas
La asignación siempre se proporciona explícitamente.
Por qué Zig no tiene asignaciones ocultas es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 1 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.
La memoria es explícita
En Zig, ninguna función de la biblioteca estándar obtiene memoria del montón silenciosamente. Si el código necesita asignar memoria, debe indicarlo explícitamente. 📦
Debe pasar el asignador
Todo lo que asigna memoria recibe un asignador como parámetro. La memoria no puede aparecer a menos que proporcione a la función la herramienta para crearla.
fn buildList(allocator: std.mem.Allocator) !void {}No existe la palabra clave new oculta
Zig no tiene el operador new ni un recolector de basura. Nada accede al montón a sus espaldas como ocurre en muchos lenguajes.
Por qué es importante
Como la asignación es visible, siempre sabe de dónde procede la memoria. Esto es fundamental en chips integrados, kernels y bucles de juego exigentes.
Lea la firma
Una función que puede asignar memoria lo muestra en su firma: recibe un asignador y normalmente devuelve una unión de errores con !.
fn dupe(a: std.mem.Allocator, s: []const u8) ![]u8 {}La pila es gratuita
Las variables locales simples viven en la pila y no necesitan un asignador. Solo necesita uno cuando un valor debe sobrevivir a su función o crecer durante la ejecución.
var x: i32 = 5; // stack, no allocationLa asignación puede fallar
Solicitar memoria del montón puede fallar, por lo que las funciones que asignan memoria devuelven un error. Debe gestionar un posible OutOfMemory; nunca lo ignore.
Es propietario de lo que crea
Quien llama al asignador es el propietario del resultado y debe liberarlo. Zig nunca libera la memoria por usted, así que la propiedad siempre queda clara.
Cambie de asignador libremente
Como el asignador es un parámetro, puede cambiar de estrategia sin modificar la lógica. Las pruebas usan un asignador y producción usa otro.
Las bibliotecas son transparentes
Una biblioteca bien escrita nunca oculta una asignación. Acepta su asignador, para que usted controle la memoria incluso dentro del código de otras personas.
Predecible por diseño
Esta regla forma parte de la promesa de Zig de no ocultar el flujo de control. La asignación explícita mantiene los programas predecibles y fáciles de razonar. ✅
Comprobación rápida
Recuerde cómo obtiene una función de Zig la capacidad de asignar memoria.
Repaso
Ha visto que Zig no tiene asignaciones ocultas: la memoria solo llega a través de un asignador que usted proporciona, y usted es propietario de todo lo que crea y debe liberarlo. 🎯
Aprende Zig con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Por qué Zig no tiene asignaciones ocultas» es gratis?
Sí — el texto completo de «Por qué Zig no tiene asignaciones ocultas» 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 «Por qué Zig no tiene asignaciones ocultas»?
La asignación siempre se proporciona explícitamente. 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 1 de 4.
¿Cuánto tiempo toma la lección «Por qué Zig no tiene asignaciones ocultas»?
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
- Por qué Zig no tiene asignaciones ocultas
- La interfaz Allocator
- alloc, free, create, destroy
- Listas dinámicas con ArrayList