package main

import (
	"fmt"
	"strings"
)

func main() {
	nama := "Budi Santoso"
	kalimat := "belajar go itu menyenangkan"

	// Mencari dan memeriksa isi string.
	fmt.Println("Contains   :", strings.Contains(nama, "Sant"))
	fmt.Println("HasPrefix  :", strings.HasPrefix(nama, "Budi"))
	fmt.Println("HasSuffix  :", strings.HasSuffix(nama, "oso"))
	fmt.Println("Index      :", strings.Index(nama, "Santoso"))

	// Mengubah huruf dan memangkas tepi string.
	fmt.Println("ToUpper    :", strings.ToUpper(nama))
	fmt.Println("ToLower    :", strings.ToLower(nama))
	fmt.Printf("TrimSpace  : [%s]\n", strings.TrimSpace("  belajar go  "))

	// Memotong dan menggabung string.
	kata := strings.Fields(kalimat)
	fmt.Printf("Fields     : %v (%d kata)\n", kata, len(kata))
	bagian := strings.Split(nama, " ")
	fmt.Println("Split      :", bagian)
	fmt.Println("Join       :", strings.Join(bagian, ", "))

	// Mengganti, mengulang, menghitung, membandingkan.
	fmt.Println("ReplaceAll :", strings.ReplaceAll(kalimat, "go", "Go"))
	fmt.Println("Repeat     :", strings.Repeat("go-", 3))
	fmt.Println("Count      :", strings.Count(kalimat, "a"))
	fmt.Println("EqualFold  :", strings.EqualFold("GO", "gO"))

	// Memangkas awalan tetap dari nama berkas.
	berkas := "data_2026.txt"
	fmt.Println("TrimPrefix :", strings.TrimPrefix(berkas, "data_"))
}
