BAB 2: Instalasi dan Setup Go
Panduan instalasi Go di Windows, macOS, dan Linux, plus setup workspace dan verifikasi environment yang siap digunakan.
Di bab sebelumnya kamu sudah melihat seperti apa kode Go — termasuk program hello.go yang hanya butuh beberapa baris untuk mencetak teks ke layar. Tapi kode itu belum bisa dijalankan karena Go belum terpasang di komputermu. Bab ini mengurus hal tersebut: dari mengunduh Go, memasangnya, sampai memastikan semuanya berjalan dengan benar.
Proses instalasinya berbeda-beda tergantung sistem operasi, tapi hasilnya sama: setelah selesai, kamu punya satu perintah go yang bisa dikombinasikan untuk membangun, menjalankan, menguji, dan memformat kode Go dari mana saja.
Mengunduh Go
Go didistribusikan secara resmi melalui go.dev/dl. Di sana tersedia binary untuk Windows, macOS, dan Linux dalam berbagai arsitektur. Pilih versi stable terbaru — bukan versi RC atau beta — untuk sistem operasi dan arsitektur prosesormu.
Sebagian besar komputer modern menggunakan arsitektur amd64 (Intel/AMD 64-bit) atau arm64 (Apple Silicon, ARM). Kalau tidak yakin, jalankan perintah berikut sebelum mengunduh:
# Linux/macOS
uname -m
Hasilnya x86_64 berarti amd64, sedangkan aarch64 atau arm64 berarti arsitektur ARM.
Instalasi per Sistem Operasi
Windows
Unduh file .msi dari go.dev/dl, lalu jalankan installer-nya. Ikuti wizard sampai selesai — Go akan terpasang di C:\Program Files\Go dan PATH diperbarui secara otomatis.
Setelah selesai, tutup Command Prompt atau PowerShell yang sedang terbuka, lalu buka kembali. Ini penting karena perubahan PATH hanya berlaku untuk sesi terminal yang baru.
Verifikasi instalasi:
go version
Output yang diharapkan (nomor versi bisa berbeda):
go version go1.24.1 windows/amd64
macOS
Unduh file .pkg dari go.dev/dl dan jalankan. Installer akan memasang Go ke /usr/local/go dan menambahkan /usr/local/go/bin ke PATH secara otomatis.
Restart terminal setelah instalasi, lalu verifikasi:
go version
Alternatif, kalau kamu menggunakan Homebrew:
brew install go
Homebrew biasanya memasang versi yang sedikit lebih lama dari versi terbaru di go.dev. Untuk proyek baru, lebih baik gunakan binary langsung dari go.dev agar selalu mendapat versi stable terkini.
Linux
Instalasi di Linux dilakukan manual lewat terminal. Unduh arsip .tar.gz dari go.dev/dl, lalu ekstrak ke /usr/local:
# Hapus instalasi Go lama jika ada
sudo rm -rf /usr/local/go
# Ekstrak arsip (sesuaikan nama file dengan versi yang diunduh)
sudo tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz
Tambahkan Go ke PATH dengan menambahkan baris berikut ke $HOME/.profile atau $HOME/.bashrc (untuk bash) atau $HOME/.zshrc (untuk zsh):
export PATH=$PATH:/usr/local/go/bin
Terapkan perubahan tanpa harus restart terminal:
source $HOME/.profile
Verifikasi:
go version
Jangan gunakan package manager sistem (apt install golang-go, dnf install golang, dll.) kecuali versinya sama dengan versi terbaru di go.dev. Package manager distribusi Linux sering menyediakan versi Go yang sudah cukup ketinggalan.
Memverifikasi Environment
Setelah instalasi, jalankan perintah berikut untuk melihat semua konfigurasi Go yang aktif:
go env
Beberapa variabel yang penting untuk diketahui:
go env GOROOT # Lokasi instalasi Go
go env GOPATH # Direktori kerja Go (default: $HOME/go)
go env GOOS # Sistem operasi yang dideteksi
go env GOARCH # Arsitektur prosesor yang dideteksi
GOPATH adalah direktori di mana Go menyimpan binary yang diinstal dengan go install, cache module, dan proyek-proyek lama (sebelum era Go Modules). Sejak Go 1.11, kamu tidak perlu menaruh kode di dalam GOPATH — proyek bisa berada di direktori mana saja.
Membuat Project Pertama
Dengan Go terpasang, saatnya menjalankan program hello.go yang sudah kamu lihat di bab sebelumnya. Tapi kali ini kita lakukan dengan cara yang benar menggunakan Go Modules.
Buat direktori baru untuk project, lalu inisialisasi module:
mkdir hello-go
cd hello-go
go mod init hello-go
Perintah go mod init membuat file go.mod yang menjadi penanda bahwa direktori ini adalah sebuah Go module:
module hello-go
go 1.24
Buat file main.go di dalam direktori tersebut:
// main.go
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
Jalankan:
go run main.go
Hello, Go!
Ini adalah program yang sama persis dengan yang ada di bab sebelumnya — sekarang benar-benar berjalan di komputermu. Untuk mengompilasi menjadi binary yang bisa dijalankan langsung:
go build main.go
./main # Linux/macOS
main.exe # Windows
Code Editor
Go bisa ditulis dengan editor teks biasa, tapi produktivitas meningkat signifikan dengan editor yang punya dukungan Go. Dua pilihan yang paling umum digunakan:
Visual Studio Code dengan ekstensi Go resmi dari Google — gratis, ringan, dan punya fitur lengkap: autocomplete, error detection inline, formatting otomatis saat save, dan integrated terminal.
GoLand dari JetBrains — berbayar (ada free trial), IDE yang dibangun khusus untuk Go dengan fitur refactoring dan debugging yang lebih dalam.
Untuk ebook ini, VS Code cukup. Setelah install ekstensi Go, VS Code akan menawarkan untuk menginstal tooling tambahan seperti gopls (language server) dan dlv (debugger). Izinkan semua instalasi tersebut — tooling ini yang membuat fitur-fitur editor bekerja.
Latihan
- Jalankan
go envdan catat nilaiGOROOTdanGOPATHdi komputermu. Buka direktori tersebut dan lihat isinya — apa saja yang ada di sana? - Buat project baru dengan nama berbeda, inisialisasi module-nya, lalu modifikasi program
hello.goagar mencetak namamu dan kota asalmu di dua baris terpisah. Gunakan dua pemanggilanfmt.Printlnuntuk ini. - Setelah berhasil dengan
go run, coba kompilasi dengango builddan jalankan binary yang dihasilkan secara langsung. Perhatikan perbedaan antara kedua cara ini.
Go sekarang terpasang dan project pertamamu sudah berjalan. Tapi sejauh ini kamu hanya menulis program yang mencetak teks yang sudah ditentukan — teksnya hardcoded di dalam kode. Bagaimana kalau program perlu menyusun kalimat dari beberapa bagian, atau menampilkan sesuatu berdasarkan kondisi tertentu? Di bab berikutnya kita akan membangun project Go yang lebih terstruktur, memahami bagaimana Go mengorganisir kode, dan mulai menulis program yang melakukan lebih dari sekadar mencetak.