Zig 0.16 学习笔记 - Hello, World

使用 debug 输出 Hello, World

zig
const std = @import("std");

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

std.debug.print 会在标准错误中输出信息。

在标准输出中输出 Hello, World

zig
const std = @import("std");

pub fn main(init: std.process.Init) !void {
    try std.Io.File.stdout().writeStreamingAll(init.io, "Hello, World\n");
}
  • 通过 std.Io.File.stdout() 获得标准输出句柄
  • 所有输出操作依赖 std.Io 对象,可以使用 init.io

封装 print 函数

封装一个 print 函数,简化标准输出的复杂度。

zig
const std = @import("std");

pub fn main(init: std.process.Init) !void {
    try print(init.io, "Hello, World\n", .{});
}

fn print(io: std.Io, comptime fmt: []const u8, args: anytype) !void {
    var buf: [4096]u8 = undefined;
    var out = std.Io.File.stdout().writerStreaming(io, &buf);
    try out.interface.print(fmt, args);
    try out.interface.flush();
}