Kenapa Belajar Go (Golang)?
Go adalah bahasa pemrograman yang dibuat oleh Google pada tahun 2009. Tiga insinyur senior — Robert Griesemer, Rob Pike, dan Ken Thompson — menciptakannya karena frustasi dengan kompleksitas C++ dan kelambatan Java.
Hasilnya? Bahasa yang simpel seperti Python, tapi cepat seperti C. Berikut alasan kenapa Go layak dipelajari:
- ⚡ Performa tinggi — dikompilasi ke native binary, bisa handle jutaan request
- 🧵 Concurrency bawaan — goroutine dan channel memudahkan kode paralel
- 📦 Deployment mudah — satu file binary, tidak perlu install runtime di server
- 🔍 Sintaks simpel — hanya 25 keyword, mudah dibaca dan dipelajari
- 💼 Banyak dicari — dipakai oleh Docker, Kubernetes, Terraform, dan startup unicorn
Apa yang Akan Kita Bangun?
Sepanjang series ini kita akan membangun sebuah REST API Todo Manager — aplikasi manajemen tugas lengkap dengan:
- CRUD (Create, Read, Update, Delete) task
- Autentikasi JWT
- Database PostgreSQL via GORM
- Deployment ke VPS dengan Docker
Install Go
Windows
Download installer dari go.dev/dl, pilih versi terbaru (Go 1.22+). Jalankan installer, ikuti langkah-langkahnya.
Verifikasi instalasi:
go version
# Output: go version go1.22.0 windows/amd64
Linux / Mac
# Linux
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
# Mac (pakai Homebrew)
brew install go
Struktur Project Go
Di Go modern (Go 1.11+), kita pakai Go Modules untuk manajemen dependency. Tidak perlu lagi khawatir soal GOPATH.
# Buat folder project
mkdir todo-api
cd todo-api
# Inisialisasi module
go mod init github.com/username/todo-api
Perintah go mod init membuat file go.mod yang berisi nama module dan versi Go.
Hello World!
Buat file main.go:
package main
import "fmt"
func main() {
fmt.Println("Halo, Go!")
fmt.Println("Selamat datang di dunia Golang 🚀")
}
Jalankan:
go run main.go
# Output:
# Halo, Go!
# Selamat datang di dunia Golang 🚀
Memahami Kode di Atas
package main— setiap file Go harus punya package. Packagemainadalah entry point aplikasi.import "fmt"— mengimpor packagefmt(format) dari standard library untuk input/output.func main()— fungsimainadalah fungsi yang pertama kali dieksekusi.fmt.Println()— mencetak teks ke konsol dengan newline di akhir.
Perintah Go yang Perlu Diketahui
go run main.go # Jalankan langsung tanpa build
go build . # Compile menjadi binary executable
go build -o app . # Compile dengan nama output 'app'
go fmt ./... # Format kode otomatis
go vet ./... # Cek potensi bug
go mod tidy # Bersihkan dependency yang tidak terpakai
Setup Editor (VS Code)
Install extension Go dari Google di VS Code. Extension ini menyediakan:
- Autocomplete dan IntelliSense
- Format otomatis saat save
- Debugging bawaan
- Linting dan error checking
Setelah install extension, VS Code akan minta install beberapa tools Go tambahan — klik "Install All".
Komentar 0