Zig 是一种通用的编程语言和工具链,用于维护健壮优化可重用的软件。
快速入门 Latest Release:   0.7.1
开发文档 更新日志

⚡ 小巧简洁的语言

专注于调试你的应用程序,而不是调试你的编程语言知识。

  • 没有隐式控制流。
  • 没有隐式内存分配。
  • 没有预处理器,没有宏。

⚡ 编译期代码执行

基于编译期代码执行和惰性求值的全新元编程方法。

  • 编译期调用任意函数。
  • 无需运行期成本,将类型当作值来操作。
  • 编译期模拟目标架构。

⚡ 性能与安全并重

编写快速、清晰的代码处理所有的错误情况。

  • 指导你优雅地编写错误处理逻辑。
  • 可配置的运行时检查帮助你在性能和安全保证之间取得平衡。
  • 使用可移植的向量类型表达 SIMD 指令。

深入了解

更多范例

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});
}

社区

Zig 社区是去中心化的

任何人都可以自由地建立和维护自己的社区。 没有“官方”或“非官方”的概念,但是,每个社区都有自己的版主和规则。

开发主线

Zig 源码仓库可以在 https://github.com/ziglang/zig 找到,我们同时也在这里发布问题跟踪和提案讨论。 贡献者应该遵守 Zig 的行为准则

Zig 软件基金会

ZSF 是一家 501(c)(3) 非营利公司。

Zig 软件基金会是由 Zig 的创造者 Andrew Kelley 在 2020 年成立的非营利性公司,目标是支持该语言的发展。目前,ZSF 能够以有竞争力的价格向少数核心贡献者提供有偿工作。我们希望在未来能够将这一优惠扩大到更多的核心贡献者。 Zig 软件基金会由捐款维持。

了解更多

赞助商

企业赞助商

以下公司为 Zig 软件基金会提供直接的资金支持。

GitHub 赞助

感谢赞助 Zig 的人,该项目对开源社区而不是企业股东负责。特别地,这些好心人以每月 200 美元或以上的金额赞助 Zig。

本栏目将会在每月初更新。

All your codebase are belong to us.