Pengantar Bahasa Pemrograman Go
Go, atau sering disebut Golang, adalah bahasa pemrograman yang dikembangkan oleh Google. Dikenal karena kecepatannya, efisiensi konkurensi yang luar biasa (berkat goroutine), dan sintaksnya yang sederhana, Go telah menjadi pilihan utama untuk pengembangan backend, layanan mikro, dan alat CLI. Bagi pemula, memahami struktur dasar program Go adalah langkah krusial. Artikel ini akan menyajikan beberapa contoh program Golang fundamental yang mudah dipahami.
Ilustrasi sederhana struktur program Go.
Contoh 1: Program "Hello World"
Setiap permulaan belajar bahasa pemrograman selalu dimulai dengan program "Hello World". Dalam Go, ini melibatkan deklarasi paket (package), impor pustaka standar (import), dan fungsi utama (main function).
package main
import "fmt"
func main() {
fmt.Println("Halo Dunia dari Golang!")
}
Penjelasan: Baris pertama mendeklarasikan bahwa ini adalah program yang bisa dieksekusi (package main). Pustaka fmt diimpor untuk menangani input/output terformat. Fungsi main adalah titik masuk program.
Contoh 2: Variabel dan Tipe Data Dasar
Go adalah bahasa dengan pengetikan statis, namun ia memungkinkan inferensi tipe data yang kuat. Kita bisa mendeklarasikan variabel menggunakan var atau notasi pendek :=.
package main
import "fmt"
func main() {
// Deklarasi menggunakan var
var nama string = "Budi"
// Inferensi tipe data (paling umum digunakan)
usia := 25
tinggi := 1.75 // float64 secara default
fmt.Printf("Nama: %s, Usia: %d tahun, Tinggi: %.2fm\n", nama, usia, tinggi)
// Konstanta
const PI = 3.14159
fmt.Println("Nilai PI:", PI)
}
Dalam contoh ini, kita melihat penggunaan tipe data string, integer (int), dan floating point (float64). Penggunaan := sangat efisien untuk inisialisasi variabel di dalam fungsi.
Contoh 3: Penggunaan Struktur Kontrol (If-Else)
Kontrol aliran eksekusi sangat penting. Sintaks Go untuk struktur kondisional if sangat bersih; tanda kurung kurawal wajib ada, tetapi tanda kurung biasa di sekitar kondisi bersifat opsional.
package main
import "fmt"
func main() {
nilai := 85
if nilai >= 90 {
fmt.Println("Nilai Anda A")
} else if nilai >= 70 {
fmt.Println("Nilai Anda B")
} else {
fmt.Println("Perlu belajar lebih giat")
}
}
Ini menunjukkan bagaimana Go menangani logika percabangan. Sintaks yang ringkas membuat kode mudah dibaca dibandingkan dengan beberapa bahasa lain.
Contoh 4: Fungsi dan Goroutine (Dasar Konkurensi)
Kekuatan utama Golang terletak pada konkurensi. Kita akan melihat contoh sederhana fungsi dan bagaimana meluncurkannya sebagai goroutine menggunakan kata kunci go.
package main
import (
"fmt"
"time"
)
// Fungsi sederhana yang akan dijalankan secara konkuren
func cetakHitungan(id int) {
for i := 0; i < 3; i++ {
fmt.Printf("Goroutine %d: Hitungan ke %d\n", id, i)
time.Sleep(100 * time.Millisecond)
}
}
func main() {
fmt.Println("Memulai program utama.")
// Meluncurkan dua goroutine secara bersamaan
go cetakHitungan(1)
go cetakHitungan(2)
// Menunggu goroutine selesai (sangat penting di program kecil)
time.Sleep(1 * time.Second)
fmt.Println("Program utama selesai.")
}
Perhatikan bahwa kita harus menggunakan time.Sleep di fungsi main. Tanpa jeda ini, fungsi main akan selesai sebelum goroutine sempat mencetak outputnya, menyebabkan program berakhir prematur. Kemampuan menjalankan banyak tugas secara bersamaan inilah yang membuat Golang sangat efisien untuk sistem modern. Memahami contoh program Golang ini memberikan fondasi kuat untuk eksplorasi lebih lanjut.
Kesimpulan
Golang dirancang untuk kesederhanaan dan performa. Mulai dari struktur paket yang jelas, sintaks variabel yang fleksibel, hingga dukungan bawaan untuk konkurensi melalui goroutine, Go menawarkan alat yang ampuh untuk pengembang. Dengan menguasai contoh program Golang dasar di atas, Anda telah mengambil langkah pertama yang solid dalam perjalanan pemrograman Go Anda.