package main

import "fmt"

func main() {
	// * lebih tinggi dari +
	fmt.Println("2 + 3 * 4       =", 2+3*4)
	fmt.Println("(2 + 3) * 4     =", (2+3)*4)

	// << lebih tinggi dari +, bukan sebaliknya
	fmt.Println("1 << 2 + 3      =", 1<<2+3)
	fmt.Println("1 << (2 + 3)    =", 1<<(2+3))

	// Operator setara dievaluasi dari kiri ke kanan
	fmt.Println("100 / 10 / 2    =", 100/10/2)
	fmt.Println("100 / (10 / 2)  =", 100/(10/2))

	// Operator unary mengikat paling kuat
	fmt.Println("-2 + 3          =", -2+3)
	fmt.Println("-(2 + 3)        =", -(2 + 3))

	// && lebih tinggi dari ||
	aktif, penuh, kosong := true, false, false
	fmt.Println("aktif || penuh && kosong   =", aktif || penuh && kosong)
	fmt.Println("(aktif || penuh) && kosong =", (aktif || penuh) && kosong)
}
