mirror of
				https://codeberg.org/ziglings/exercises.git
				synced 2025-11-04 04:35:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Zig
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Zig
		
	
	
	
	
	
//
 | 
						|
// 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 make a function harder (function pointers) or
 | 
						|
// even impossible to work with (recursion) in some situations.
 | 
						|
//
 | 
						|
// You can find more information at:
 | 
						|
// https://ziglang.org/documentation/master/#Inferred-Error-Sets
 | 
						|
//
 | 
						|
pub fn main() !void {
 | 
						|
    // We get a Writer for Standard Out so we can print() to it.
 | 
						|
    var stdout = std.fs.File.stdout().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.interface.print("Hello world!\n", .{});
 | 
						|
}
 |