البرمجة العامة (Generics) في Zig
في Zig، يتم تنفيذ البرمجة العامة من خلال دوال تعيد "نوعاً" (type). وهذا ممكن لأن الأنواع هي قيم من الدرجة الأولى (first-class values) في وقت التصريف (comptime).
zig fn List(comptime T: type) type { return struct { items: []T, len: usize, }; }
const IntList = List(i32); var my_list = IntList{ .items = undefined, .len = 0 };
هذا النهج قوي وأبسط بكثير من القوالب (templates) في C++ أو الأنواع العامة (generics) في Java.