package main

import "fmt"

func main() {
	// Bentuk 1: klausa init, kondisi, dan post statement.
	for i := 1; i <= 3; i++ {
		fmt.Println("Iterasi ke-", i)
	}

	// Bentuk 2: hanya kondisi, setara while di bahasa lain.
	sisa := 5
	for sisa > 0 {
		fmt.Println("Sisa undangan:", sisa)
		sisa--
	}

	// Bentuk 3: tanpa klausa apa pun, berjalan selamanya.
	gelombang := 0
	for {
		fmt.Println("Gelombang:", gelombang)
		gelombang++
		if gelombang > 2 {
			break
		}
	}

	// Bentuk 4: range over int, tersedia sejak Go 1.22.
	for i := range 3 {
		fmt.Println("Baris ke-", i+1)
	}

	// Perulangan bersarang: segitiga bintang.
	for baris := 1; baris <= 4; baris++ {
		pola := ""
		for bintang := 0; bintang < baris; bintang++ {
			pola += "*"
		}
		fmt.Println(pola)
	}
}
