Counter and Theme Toggle - Zig Typing CST Test
Loading…
Counter and Theme Toggle — Zig Code
Demonstrates a simple counter with theme toggling using Zig variables and functions.
const std = @import("std");
var count: i32 = 0;
var isDark: bool = false;
fn updateUI() void {
std.debug.print("Counter: {d}\n", .{count});
std.debug.print("Theme: {s}\n", .{ if (isDark) "Dark" else "Light" });
}
fn increment() void {
count += 1;
updateUI();
}
fn decrement() void {
count -= 1;
updateUI();
}
fn reset() void {
count = 0;
updateUI();
}
fn toggleTheme() void {
isDark = !isDark;
updateUI();
}
pub fn main() void {
updateUI();
increment();
increment();
toggleTheme();
decrement();
reset();
}Zig Language Guide
Zig is a general-purpose, statically typed, compiled programming language designed for robustness, optimal performance, and simplicity. It emphasizes manual memory management, safety features, cross-compilation, and direct interoperability with C, making it ideal for system programming, embedded development, and high-performance applications.
Primary Use Cases
- ▸System programming and OS development
- ▸Embedded and bare-metal applications
- ▸High-performance libraries and tools
- ▸Cross-platform and cross-compiler projects
- ▸Interfacing with C libraries and APIs
Notable Features
- ▸Manual memory management with safety
- ▸Comptime (compile-time) execution
- ▸Direct C interoperability
- ▸Error unions and optional types
- ▸Cross-compilation built-in
Origin & Creator
Created by Andrew Kelley in 2015 with the goal of replacing C while providing safer and more readable system programming constructs.
Industrial Note
Zig is gaining traction in system-level programming, embedded device firmware, WebAssembly development, game engine tooling, and low-level networking applications.