Zig
Інструменти
Загальний
Друк/експорт
В інших проєктах
На цій сторінці показано неперевірені зміни
| Zig | |
|---|---|
| Парадигма | імперативне програмування, конкурентні обчислення, процедурне програмування, функційне програмування і узагальнене програмування |
| Дата появи | 2015[1] |
| Творці | Ендрю Келлі |
| Розробник | Ендрю Келліd |
| Останній реліз | 0.15.2 (11 жовтня2025)[2] |
| Система типізації | Статична,сильна,вивідна,структурна,узагальнена |
| Під впливом від | C,C++,LLVM IR,Go,Rust,JavaScript |
| Платформа | x86-64,ARM64,WebAssembly Tier 2:ARM,IA-32,RISC-V,MIPS64,POWERPC64,SPARC64, деякі tier-2 платформи мають tier-1 підтримкуавтономних програм[en] |
| Ліцензія | MIT |
| Звичайні розширення файлів | .zig або.zon |
| Вебсайт | ziglang.org |
Zig —імперативна,статично типізована,компільованасистемна[en]мова програмування загального призначення, розроблена Ендрю Келлі. За задумкою, повинна замінитимову C, будучи ще меншою і простішою для програмування, водночас пропонуючи сучасний функціонал, нові оптимізації та різноманіття механізмів безпеки, але не будучи настільки вимогливою в безпеці під час виконання, як інші мови. Має відмінності відGo,Rust таCarbon[en], які мають схожу мету, але націлені на середовищеC++.
conststd=@import("std");pubfnmain()!void{conststdout=std.io.getStdOut().writer();trystdout.print("Привіт, {s}!\n",.{"світе!"});}
через stderr:
conststd=@import("std");pubfnmain()void{std.debug.print("Привіт, {s}!\n",.{"світе"});}
pubfnmain()void{varnode=LinkedList(i32).Node{.prev=null,.next=null,.data=1234,};varlist=LinkedList(i32){.first=&node,.last=&node,.len=1,};}fnLinkedList(comptimeT:type)type{returnstruct{pubconstNode=struct{prev:?*Node,next:?*Node,data:T,};first:?*Node,last:?*Node,len:usize,};}