package main

import (
	"fmt"
	"maps"
	"slices"
)

func main() {
	// Daftar berurutan: urutan penulisan harus terjaga, pakai slice.
	urutan := []string{"masuk", "pilih barang", "checkout"}
	fmt.Println("urutan:", urutan)

	// Cari nilai di slice: periksa elemen satu per satu.
	target := "checkout"
	ditemukan := false
	for _, langkah := range urutan {
		if langkah == target {
			ditemukan = true
			break
		}
	}
	fmt.Println("checkout ditemukan:", ditemukan)

	// Lookup berdasarkan key: akses langsung, pakai map.
	kodePos := map[string]int{
		"Jakarta Pusat": 10110,
		"Bandung":       40111,
		"Surabaya":      60119,
	}
	if kp, ok := kodePos["Bandung"]; ok {
		fmt.Println("kode pos Bandung:", kp)
	}

	// Iterasi map yang terurut memakai slices dan maps.
	for _, kota := range slices.Sorted(maps.Keys(kodePos)) {
		fmt.Printf("%s: %d\n", kota, kodePos[kota])
	}

	// Data berukuran tetap: warna RGB selalu tiga byte, pakai array.
	piksel := [3]byte{255, 128, 0}
	fmt.Println("piksel:", piksel)
}
