Difference between revisions of "Zig"
Jump to navigation
Jump to search
(Created page with "Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software. https://ziglang.org/ <code> const std = @import("std");...") |
|||
Line 3: | Line 3: | ||
https://ziglang.org/ |
https://ziglang.org/ |
||
− | < |
+ | <pre> |
const std = @import("std"); |
const std = @import("std"); |
||
Line 35: | Line 35: | ||
− | </ |
+ | </pre> |
Revision as of 15:00, 4 August 2021
Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
const std = @import("std"); const json = std.json; const payload = \\{ \\ "vals": { \\ "testing": 1, \\ "production": 42 \\ }, \\ "uptime": 9999 \\} ; const Config = struct { vals: struct { testing: u8, production: u8 }, uptime: u64, }; const config = x: { var stream = json.TokenStream.init(payload); const res = json.parse(Config, &stream, .{}); // Assert no error can occur since we are // parsing this JSON at comptime! break :x res catch unreachable; }; pub fn main() !void { if (config.vals.production > 50) { @compileError("only up to 50 supported"); } std.log.info("up={d}", .{config.uptime}); }