package main

import "fmt"

// Konfigurasi menyimpan nilai beragam tipe sebagai data transit.
type Konfigurasi map[string]any

func main() {
	konfig := Konfigurasi{
		"host":    "localhost",
		"port":    8080,
		"debug":   true,
		"retries": 3,
	}

	// fmt mengurutkan kunci map sehingga output tetap deterministik.
	fmt.Println(konfig)

	for _, kunci := range []string{"host", "port", "debug"} {
		fmt.Printf("%s bertipe %T\n", kunci, konfig[kunci])
	}

	// any dan interface{} adalah nama untuk tipe yang sama persis.
	var a any = "belajar"
	var b interface{} = "belajar"
	fmt.Println("a == b:", a == b)
}
