Skip to content

JdaDong/ziglearning01

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ziglearning01 — Zig 语言学习项目

这是一个系统化的 Zig 学习项目,覆盖 Zig 语言的核心语法与标准库常用功能。 目前使用 Zig 0.16.0(macOS Homebrew 安装)。

目录结构

ziglearning01/
├── build.zig              # 构建脚本 (Zig 0.16)
├── build.zig.zon          # 包描述
├── README.md              # 本文件
└── src/
    ├── main.zig           # 入口:一个交互式章节菜单
    ├── 01_hello_world.zig # 第 1 章:Hello World 与基础输出
    ├── 02_variables.zig   # 第 2 章:变量与常量
    ├── 03_primitive_types.zig # 第 3 章:基础类型
    ├── 04_arrays_slices.zig   # 第 4 章:数组与切片
    ├── 05_strings.zig     # 第 5 章:字符串
    ├── 06_control_flow.zig    # 第 6 章:控制流 (if/while/for/switch)
    ├── 07_functions.zig   # 第 7 章:函数
    ├── 08_errors.zig      # 第 8 章:错误处理
    ├── 09_optionals.zig   # 第 9 章:可选类型
    ├── 10_structs.zig     # 第 10 章:结构体
    ├── 11_enums_unions.zig    # 第 11 章:枚举与联合体
    ├── 12_pointers.zig    # 第 12 章:指针
    ├── 13_memory.zig      # 第 13 章:内存管理与分配器
    ├── 14_comptime.zig    # 第 14 章:编译期编程
    ├── 15_generics.zig    # 第 15 章:泛型
    ├── 16_testing.zig     # 第 16 章:测试
    ├── 17_defer.zig       # 第 17 章:defer / errdefer
    ├── 18_vectors.zig     # 第 18 章:@Vector / SIMD
    ├── 19_c_interop.zig   # 第 19 章:C 互操作
    ├── 20_stdlib.zig      # 第 20 章:标准库常用功能速览
    ├── 21_interfaces.zig  # 第 21 章:接口与多态 (VTable)
    ├── 22_filesystem.zig  # 第 22 章:文件系统 std.Io.Dir
    ├── 23_threads.zig     # 第 23 章:线程与并发 (原子操作 / CAS)
    ├── 24_build_system.zig # 第 24 章:build.zig 进阶
    └── 25_calculator.zig  # 第 25 章:综合实战 —— 迷你表达式计算器

环境安装

macOS:

brew install zig          # 0.16.0 或更新
zig version

Linux / Windows 可从 https://ziglang.org/download/ 下载预编译包。

运行方式

# 1. 查看所有章节
zig build run

# 2. 运行指定章节(可以多个)
zig build run -- 1 5 10

# 3. 运行全部章节
zig build run -- all

# 4. 运行所有 test 块
zig build test

# 5. 仅运行某一章的 test
zig test src/14_comptime.zig

学习建议

  1. 按章节顺序循序渐进,每一章都可以独立编译和运行。
  2. 每个章节文件都有:
    • 学习目标注释(文件头部)
    • pub fn run() !void 演示函数
    • 若干示例 + 详细注释
    • 文件末尾"本章知识点总结"
    • 至少 1 个 test 块,可通过 zig build test 验证
  3. 遇到不理解的内建函数(@xxx)可查阅:https://ziglang.org/documentation/master/
  4. 修改代码、触发编译错误也是非常好的学习方式 —— Zig 的错误信息写得很清楚。

版本说明

本项目针对 Zig 0.16 的 API 编写。相比 0.11/0.12,主要变化:

  • main(init: std.process.Init) 新签名
  • std.ArrayList / std.io 做了大量重构
  • DebugAllocator 取代 GeneralPurposeAllocator
  • std.time 精简为仅保留单位常量
  • 移除了不稳定的 async/await

如果你使用更旧的 Zig 版本,部分 API 需自行调整。

ziglearning01

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages