0Pricing
Zig Academy · 课时

您的第一个 main 函数

了解最小 Zig 程序的结构。

您的第一个 main 函数 是 CoddyKit 上的免费 Zig Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Zig Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Zig Academy 课程共包含 4 节课。

程序从哪里开始

每个 Zig 可执行文件都从名为main的函数开始。程序启动时,编译器会找到它并首先运行它。🚀

导入标准库

大多数程序都会先引入一些工具。您可以使用@import这个用于加载模块的内置功能,将标准库绑定到一个名称。

const std = @import("std");

内置功能以 @ 开头

以@开头的名称(例如 @import)是编译器内置功能。它们属于语言本身,而不是普通的库函数。

声明 main

您可以使用fn关键字定义 main。最简单的版本不接收参数,并返回 void,也就是不返回任何值。

pub fn main() void {
    // your code runs here
}

pub 为什么重要

pub关键字会让 main 在其文件外部可见,这样运行时就能调用它。没有 pub,程序就找不到入口点。

void 表示不返回值

void返回类型表示 main 不产生任何结果。许多实际程序会改为返回错误联合类型,以便报告失败。

函数体

花括号内的代码是主体。其中的语句会从上到下运行,顺序与您编写它们的顺序完全一致。

添加第一条语句

您可以在 main 中调用函数。这里,单独的一条打印语句通过标准库向世界问好。

pub fn main() void {
    std.debug.print("Hi from Zig!\n", .{});
}

语句以分号结束

每条语句都以分号结束。Zig 对此要求很严格,因此语句之间的边界清晰明确。

写给人类的注释

以两个斜杠开头的行是注释。Zig 会完全忽略它们,因此请使用注释向未来的读者解释代码意图。

// This is a comment, ignored by the compiler
const answer = 42;

完整的第一个程序

将这些内容组合起来,就得到了一个完整且精简的 Zig 程序:一个导入语句,以及一个用于打印一行内容的 main 函数。

const std = @import("std");

pub fn main() void {
    std.debug.print("Hello!\n", .{});
}

快速检查

请查看一个最精简的 Zig 程序。哪个关键字会公开 main,使程序能够真正启动?

回顾

Zig 程序从 main 开始:导入 std,声明 pub fn main() void,并在主体中填入按顺序运行的语句。🎯

常见问题解答

「您的第一个 main 函数」课时是免费的吗?

是的 — 「您的第一个 main 函数」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Zig Academy 课程的其余内容,请升级到 CoddyKit PRO。 Zig Academy 课程共包含 4 节课。

「您的第一个 main 函数」这节课中我会学到什么?

了解最小 Zig 程序的结构。 你通过在浏览器中直接运行的动手代码来练习 Zig Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Zig Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Zig Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「您的第一个 main 函数」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Zig Academy 课中编写并运行代码吗?

能。每节 Zig Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 在任何平台安装 Zig
  2. 您的第一个 main 函数
  3. 使用 std.debug.print 输出
  4. 一步完成编译和运行
← 返回 Zig Academy