快速开始
功能特色
Why use Zig
从本质上看,Zig 是一门 low level 的高级语言,它和 C 很像,但改善旧问题并提供了完善的工具链,并且它可选支持 libc
。
一切都是强制显式声明式,这使得代码阅读很轻松!
如果你是嵌入式开发,亦或者对速度有很高的要求,还不想使用心智负担太高的其他高级语言,或许 Zig 很适合你。
Features
- 类型是一等公民
- 无隐式执行
- 手动内存控制,精确的内存泄漏跟踪
- 完善的堆栈跟踪(在裸机器上也可以)
- 对交叉编译的一流支持
- 标准库集成
libc
,但不依赖它 - 可选类型代替
null
,详见 计算机科学中最严重的错误 - 编译期(可以简单看作在编译时执行的函数)执行实现泛型和反射
- 无需
FFI/bindings
的 C 库集成 - 非常强大的构建系统
有几点是非常值得单独拿出来说明一下的:
Zig 会要求你显式传递和管理你的内存,并且编译时就会跟踪你的内存是否发生泄漏, 高明的可选类型(这和 rust 的 option
有异曲同工之妙),强大的编译期运行,你可实现很多花哨的操作,而构建系统则被很多 C 项目拿去作为工具链使用。