Belajar Go (Golang) | Apa itu Golang?
Go atau Golang adalah bahasa pemrograman open-source yang dikembangkan oleh Google sejak tahun 2009. Go dirancang untuk membuat aplikasi modern yang cepat, aman, dan mudah dipelihara. Bahasa ini terkenal karena concurrency-nya yang simpel dan performa secepat C/C++ tapi sintaksnya sederhana.

1. Kenapa Harus Belajar Go?
- Sederhana → Sintaks ringkas, mudah dibaca.
- Cepat → Dikompilasi langsung ke kode mesin (bukan interpreted).
- Concurrency → Mendukung goroutine & channel untuk pemrosesan paralel.
- Populer di industri → Dipakai Google, Uber, Dropbox, Kubernetes, Docker.
- Cross-platform → Bisa jalan di Windows, Linux, Mac tanpa ribet.
2. Cara Install Go
- Kunjungi situs resmi: https://go.dev/dl/
- Download sesuai OS (Windows / macOS / Linux).
- Install seperti biasa.
- Cek instalasi:
Output contoh:go versiongo version go1.22.5 windows/amd64
3. Struktur Program Go
Setiap program Go selalu punya package main dan func main().
package main
import "fmt"
func main() {
fmt.Println("Hello, World dari Go 🚀")
}
👉 Jalankan dengan:
go run main.go
👉 Atau kompilasi dulu:
go build main.go
./main
4. Variabel dan Tipe Data
Deklarasi Variabel
package main
import "fmt"
func main() {
var nama string = "Gifan"
umur := 22 // short declaration
fmt.Println("Nama:", nama)
fmt.Println("Umur:", umur)
}
Tipe Data Umum
string→ teksint, float64→ angkabool→ true / falsearray→ jumlah tetapslice→ array fleksibelmap→ key-value (mirip dictionary di Python)
hobi := []string{"Coding", "Gaming", "Ngopi"}
orang := map[string]string{"nama": "Gifan", "kota": "Bandung"}
fmt.Println(hobi[0]) // Coding
fmt.Println(orang["nama"]) // Gifan
5. Operator, Kondisi, dan Loop
Operator
a, b := 10, 3
fmt.Println(a + b) // 13
fmt.Println(a % b) // 1
Kondisi If-Else
nilai := 75
if nilai >= 80 {
fmt.Println("Nilai A")
} else if nilai >= 70 {
fmt.Println("Nilai B")
} else {
fmt.Println("Nilai C")
}
Loop For
for i := 1; i <= 5; i++ {
fmt.Println("Angka", i)
}
6. Fungsi
func salam(nama string) string {
return "Halo " + nama + ", selamat belajar Go!"
}
func main() {
fmt.Println(salam("Gifan"))
}
7. Struct (Objek di Go)
Go nggak punya class kayak OOP biasa, tapi ada struct untuk bikin tipe data kompleks.
type Mahasiswa struct {
Nama string
Umur int
Jurusan string
}
func main() {
mhs := Mahasiswa{Nama: "Gifan", Umur: 22, Jurusan: "Informatika"}
fmt.Println(mhs.Nama, "-", mhs.Jurusan)
}
8. Concurrency dengan Goroutine
Inilah keunggulan Go: goroutine memungkinkan menjalankan fungsi secara bersamaan.
package main
import (
"fmt"
"time"
)
func cetakPesan(pesan string) {
for i := 1; i <= 3; i++ {
fmt.Println(pesan, i)
time.Sleep(time.Second)
}
}
func main() {
go cetakPesan("Goroutine 1")
go cetakPesan("Goroutine 2")
time.Sleep(4 * time.Second) // tunggu goroutine selesai
}
👉 Hasil: output Goroutine 1 & 2 muncul bersamaan.
9. Membuat Aplikasi CLI Sederhana
Contoh program CLI untuk menampilkan input user.
package main
import (
"fmt"
)
func main() {
var nama string
fmt.Print("Masukkan nama: ")
fmt.Scanln(&nama)
fmt.Println("Halo,", nama, "selamat datang di Go!")
}
👉 Jalankan dengan go run main.go lalu ketik nama.
10. Kesimpulan
Di artikel ini, lo udah belajar:
- Apa itu Go (Golang) & kenapa populer
- Cara install & cek versi
- Hello World pertama
- Dasar: variabel, tipe data, operator, kondisi, loop, fungsi
- Struct untuk data kompleks
- Concurrency dengan goroutine
- Mini project CLI
👉 Next step: coba bikin REST API dengan Go pakai package net/http. Kalau sudah lancar, lo bisa lanjut ke framework Go modern seperti Gin, Echo, atau Fiber untuk bikin backend profesional.