⚡ 一种简单的语言
专注于调试你的应用程序,而不是调试你的编程语言知识。
- 没有隐式控制流。
- 没有隐式内存分配。
- 没有预处理器,没有宏。
⚡ 编译期代码执行
基于编译期代码执行和惰性求值的全新元编程方法。
- 编译期调用任意函数。
- 在没有运行时开销的情况下,将类型作为值进行操作。
- 编译期模拟目标架构。
⚡ 用 Zig 维护代码
逐步改善你的 C/C++/Zig 代码库。
- 将 Zig 作为一个零依赖的,支持开箱即用交叉编译的 C/C++ 编译器。
- 利用
zig build
在所有平台上创建一个一致的开发环境。 - 在 C/C++ 项目中添加一个 Zig 编译单元,跨语言 LTO 默认启用。
const std = @import("std");
const parseInt = std.fmt.parseInt;
test "parse integers" {
const input = "123 67 89,99";
const ally = std.testing.allocator;
var list = std.ArrayList(u32).init(ally);
// Ensure the list is freed at scope exit.
// Try commenting out this line!
defer list.deinit();
var it = std.mem.tokenizeAny(u8, input, " ,");
while (it.next()) |num| {
const n = try parseInt(u32, num, 10);
try list.append(n);
}
const expected = [_]u32{ 123, 67, 89, 99 };
for (expected, list.items) |exp, actual| {
try std.testing.expectEqual(exp, actual);
}
}
$ zig test index.zig 1/1 index.test.parse integers...OK All 1 tests passed.
Zig 软件基金会
ZSF 是一家 501(c)(3) 非营利公司
Zig 软件基金会是由 Zig 的创造者 Andrew Kelley 在 2020 年成立的非营利性公司,目标是支持该语言的发展。目前,ZSF 能够以有竞争力的价格向少数核心贡献者提供有偿工作。我们希望在未来能够将这一优惠扩大到更多的核心贡献者。
Zig 软件基金会由捐款维持。
了解更多
企业赞助商
以下公司为 Zig 软件基金会提供直接的资金支持。
GitHub 赞助者
感谢那些赞助 Zig 的人,该项目对开源社区而不是公司股东负责。特别地,这些好心人以每月 200 美元或更高的金额赞助了 Zig:
本表单每日更新。