diff options
author | Dave Gauer <dave@ratfactor.com> | 2021-01-30 20:00:32 -0500 |
---|---|---|
committer | Dave Gauer <dave@ratfactor.com> | 2021-01-30 20:00:32 -0500 |
commit | 2de8a8c54d7090dd063bed8b6b283c2fcb452e43 (patch) | |
tree | 80c1fc20d0a171aef52d0fbd0ccaa99409b3e63f /26_hello2.zig | |
parent | 08ec029f20381580ebe76ad8bd3feca2e5cd262a (diff) | |
download | ziglings-2de8a8c54d7090dd063bed8b6b283c2fcb452e43.tar.gz ziglings-2de8a8c54d7090dd063bed8b6b283c2fcb452e43.tar.bz2 ziglings-2de8a8c54d7090dd063bed8b6b283c2fcb452e43.tar.xz ziglings-2de8a8c54d7090dd063bed8b6b283c2fcb452e43.zip |
Added ex 21-26 for error handling
Diffstat (limited to '26_hello2.zig')
-rw-r--r-- | 26_hello2.zig | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/26_hello2.zig b/26_hello2.zig new file mode 100644 index 0000000..237d27c --- /dev/null +++ b/26_hello2.zig @@ -0,0 +1,23 @@ +// +// Great news! Now we know enough to understand a "real" Hello World +// program in Zig - one that uses the system Standard Out resource...which +// can fail! +// +const std = @import("std"); + +// Take note that this main() definition now returns "!void" rather +// than just "void". Since there's no specific error type, this means +// that Zig will infer the error type. This is appropriate in the case +// of main(), but can have consequences elsewhere. +pub fn main() !void { + + // We get a Writer for Standard Out so we can print() to it. + const stdout = std.io.getStdOut().writer(); + + // Unlike std.debug.print(), the Standard Out writer can fail + // with an error. We don't care _what_ the error is, we want + // to be able to pass it up as a return value of main(). + // + // We just learned of a single statement which can accomplish this. + stdout.print("Hello world!\n", .{}); +} |