Belajar Golang: Tutorial Singkat dalam 500 Kata Golang, atau Go, adalah bahasa pemrograman open-source yang dikembangkan oleh Google. Dikenal karena kesederhanaannya, efisiensinya, dan kemampuan concurrency yang kuat, Go menjadi pilihan populer untuk membangun aplikasi web, sistem cloud, dan alat baris perintah. Tutorial ini akan memberikan pengantar singkat tentang dasar-dasar Golang. **Instalasi dan Setup** Pertama, unduh dan instal Go dari situs web resminya (golang.org). Setelah instalasi, pastikan variabel lingkungan `GOPATH` Anda diatur dengan benar. `GOPATH` menunjuk ke direktori workspace Go Anda, tempat semua proyek Go Anda akan disimpan. **Program “Hello, World!”** Mari kita mulai dengan program klasik “Hello, World!”: “`go package main import “fmt” func main() { fmt.Println(“Hello, World!”) } “` Simpan kode ini sebagai `hello.go` dan jalankan dengan perintah `go run hello.go`. Anda akan melihat “Hello, World!” tercetak di konsol. * `package main`: Mendeklarasikan bahwa ini adalah program yang dapat dieksekusi. * `import “fmt”`: Mengimpor package `fmt` yang menyediakan fungsi untuk pemformatan dan output. * `func main()`: Fungsi utama, titik awal eksekusi program. * `fmt.Println(“Hello, World!”)`: Mencetak teks ke konsol. **Tipe Data Dasar** Go memiliki beberapa tipe data dasar, termasuk: * `int`: Integer (bilangan bulat) * `float64`: Floating-point (bilangan desimal) * `string`: Teks * `bool`: Boolean (true/false) **Variabel** Anda dapat mendeklarasikan variabel dengan kata kunci `var`: “`go var umur int = 30 var nama string = “Budi” “` Go juga mendukung type inference, jadi Anda dapat menghilangkan tipe data jika nilainya sudah jelas: “`go umur := 30 nama := “Budi” “` **Fungsi** Fungsi didefinisikan dengan kata kunci `func`: “`go func tambah(a int, b int) int { return a + b } “` Contoh penggunaan: “`go hasil := tambah(5, 3) fmt.Println(hasil) // Output: 8 “` **Control Flow** Go menyediakan struktur control flow seperti `if`, `else if`, `else`, `for`, dan `switch`. * **If/Else:** “`go if umur > 18 { fmt.Println(“Dewasa”) } else { fmt.Println(“Anak-anak”) } “` * **For Loop:** “`go for i := 0; i < 5; i++ { fmt.Println(i) } ``` **Arrays dan Slices** Arrays adalah koleksi elemen dengan ukuran tetap. Slices, di sisi lain, adalah abstraksi di atas arrays yang memungkinkan ukuran dinamis. ```go // Array var angka [3]int angka[0] = 1 angka[1] = 2 angka[2] = 3 // Slice buah := []string{"apel", "pisang", "jeruk"} ``` **Concurrency** Go dikenal karena kemampuan concurrency-nya melalui goroutine dan channel. Goroutine adalah fungsi yang dieksekusi secara bersamaan (concurrently). Channel digunakan untuk komunikasi antar goroutine. ```go func cetak(pesan string) { fmt.Println(pesan) } func main() { go cetak("Hello dari goroutine!") cetak("Hello dari main!") time.Sleep(time.Millisecond * 100) // Memberi waktu goroutine untuk berjalan } ``` Ini hanyalah pengantar singkat. Go menawarkan banyak fitur lain seperti structs, interfaces, dan error handling yang lebih canggih. Untuk mempelajari lebih lanjut, kunjungi situs web resmi Go dan eksplorasi dokumentasi dan tutorial yang tersedia. Selamat belajar!