main :: () {
x: int = 10;
y := 20;
name: string = "Hello, Jai!";
print("x = %, y = %\n", x, y);
print("%\n", name);
i8_val: s8 = -128;
i16_val: s16 = -32768;
i32_val: s32 = -2147483648;
i64_val: s64 = -9223372036854775808;
u8_val: u8 = 255;
u16_val: u16 = 65535;
u32_val: u32 = 4294967295;
u64_val: u64 = 18446744073709551615;
f32_val: float32 = 3.14159;
f64_val: float64 = 3.141592653589793;
flag: bool = true;
arr: [5]int = .[1, 2, 3, 4, 5];
print("Array: %\n", arr);
dynamic: [..]int;
array_add(*dynamic, 10);
array_add(*dynamic, 20);
array_add(*dynamic, 30);
print("Dynamic array: %\n", dynamic);
str1: string = "Hello";
str2 := " World";
combined := tprint("% %", str1, str2);
print("Combined: %\n", combined);
if x > 5 {
print("x is greater than 5\n");
} else if x == 5 {
print("x equals 5\n");
} else {
print("x is less than 5\n");
}
for i: 0..10 {
print("% ", i);
}
print("\n");
for arr {
print("% ", it);
}
print("\n");
count := 0;
while count < 5 {
print("Count: %\n", count);
count += 1;
}
result := add(5, 3);
print("5 + 3 = %\n", result);
print_value(42);
print_value("Hello");
print_value(3.14);
person := Person.{"Alice", 30};
print_person(person);
val := 42;
ptr := *val;
print("Value: %, Pointer: %, Deref: %\n", val, ptr, ptr.*);
f_val: float64 = 3.7;
i_val := cast(int) f_val;
print("Cast % to int: %\n", f_val, i_val);
}
add :: (a: int, b: int) -> int {
return a + b;
}
divide :: (a: int, b: int) -> (int, bool) {
if b == 0 return 0, false;
return a / b, true;
}
print_value :: (x: int) {
print("Integer: %\n", x);
}
print_value :: (x: string) {
print("String: %\n", x);
}
print_value :: (x: float64) {
print("Float: %\n", x);
}
Person :: struct {
name: string;
age: int;
}
print_person :: (p: Person) {
print("Person: %, age %\n", p.name, p.age);
}
Color :: enum {
RED;
GREEN;
BLUE;
}
PI :: 3.14159265359;
MAX_SIZE :: 100;
#import "Basic";