-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvalues.zig
executable file
·38 lines (33 loc) · 1.09 KB
/
values.zig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const print = std.debug.print;
const std = @import("std");
const os = std.os;
const assert = std.debug.assert;
pub fn main() void {
//integers
const one_plus_one: i32 = 1 + 1;
print("{}", .{one_plus_one});
//floats
const seven_div_three: f32 = 7.0 / 3.0;
print("{}", .{seven_div_three});
//boolean
// print("{}\n{}\n{}\n", .{ true and false, true or false!true });
//optional
var optional_value: ?[]const u8 = null;
assert(optional_value == null);
print("\nooptional I\ntype {}\nvalue:{?s}\n", .{ @TypeOf(optional_value), optional_value });
optional_value = "hi";
assert(optional_value != null);
print("\noptional 2\ntype: {}\nvalue: {?s}\n", .{
@TypeOf(optional_value), optional_value,
});
// error union
var number_or_error: anyerror!i32 = error.ArgNotFound;
print("\nerror union 1\ntype: {}\nvalue: {!}\n", .{
@TypeOf(number_or_error),
number_or_error,
});
number_or_error = 1234;
print("\nerror union 2\ntype: {}\nvalue: {!}\n", .{
@TypeOf(number_or_error), number_or_error,
});
}