Skip to content

Commit 7ba5c24

Browse files
committed
feat: add struct formating + swap example
1 parent 712d9d0 commit 7ba5c24

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

src/struct-formatting.zig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const std = @import("std");
2+
3+
const MyStruct = struct {
4+
name: []const u8,
5+
value: u32,
6+
7+
pub fn format(self: MyStruct, writer: *std.Io.Writer) std.Io.Writer.Error!void {
8+
try writer.print("{s}", .{self.name});
9+
}
10+
};
11+
12+
pub fn main() !void {
13+
const test_str = "Test String";
14+
std.debug.print("\n{s}", .{test_str});
15+
const example_struct = MyStruct{ .name = "Test", .value = 8 };
16+
17+
std.debug.print("\n{f}", .{example_struct});
18+
}

src/swap.zig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const std = @import("std");
2+
3+
fn swap(comptime T: type, x: *T, y: *T) void {
4+
const t, y.* = .{ y.*, x.* };
5+
x.* = t;
6+
std.debug.print("\n{d}, {d}", .{ x.*, y.* });
7+
}
8+
9+
pub fn main() !void {
10+
var x: u8 = 250;
11+
var y: u8 = 1;
12+
13+
var i: usize = 0;
14+
while (i < 1000) : (i += 1) {
15+
swap(u8, &x, &y);
16+
}
17+
}

0 commit comments

Comments
 (0)