package main

import (
	"errors"
	"fmt"
	"slices"
)

func main() {
	// Go 1.20: errors.Join menggabungkan beberapa error menjadi satu
	salahKuota := errors.New("kuota melebihi batas")
	salahHarga := errors.New("harga tidak valid")
	fmt.Println(errors.Join(salahKuota, salahHarga))

	// Go 1.21: min dan max menjadi builtin
	fmt.Println(min(3, 7, 5))
	fmt.Println(max(3, 7, 5))

	// Go 1.21: package slices menyediakan utilitas slice siap pakai
	harga := []int{9, 3, 7, 1}
	slices.Sort(harga)
	fmt.Println(harga)

	// Go 1.22: range over int, menghitung 0+1+2+3+4
	total := 0
	for i := range 5 {
		total += i
	}
	fmt.Println(total)
}
