From f96a33908b7ddf790baeae422e3611b15d47142f Mon Sep 17 00:00:00 2001 From: Vinicius Silva Date: Fri, 29 Dec 2023 18:11:46 -0300 Subject: [PATCH] 12_union directory created --- 12_union/main.v | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 12_union/main.v diff --git a/12_union/main.v b/12_union/main.v new file mode 100644 index 0000000..3006bc3 --- /dev/null +++ b/12_union/main.v @@ -0,0 +1,41 @@ +struct Rgba32_Component{ + r u8 + g u8 + b u8 + a u8 +} + +union Rgba32{ + Rgba32_Component + mut: + value u32 +} + +pub fn main(){ + + clr1 := Rgba32{ + value: 0x008811FF + } + + clr2 := Rgba32{ + Rgba32_Component: Rgba32_Component{ + a: 128 + } + } + + white := Rgba32{ + Rgba32_Component : Rgba32_Component{ + r: 255 + g: 255 + b: 255 + } + } + + sz := sizeof(Rgba32) + + unsafe{ + println('Size: ${sz}B,clr1.b: ${clr1.b},clr2.b: ${clr2.b}') + white.value = 0xFFFFF + println("RED ${white.r} | GREEN ${white.g} | BLUE ${white.b} | VALUE ${white.value}") + } +} \ No newline at end of file