Editor memberi kenyamanan, tetapi terminal adalah sumber kebenaran bagi peralatan Go: semua yang dilakukan editor pada akhirnya memanggil perintah go di balik layar. Menguasai beberapa perintah inti dari terminal membuat kita bisa memverifikasi instalasi, menjalankan program di komputer mana pun, dan mendiagnosis masalah tanpa tergantung pada fitur editor. Pada chapter ini kita akan menjalankan empat perintah paling fundamental: go version, go run, go env, dan go help.

Memeriksa Versi dengan go version #

Perintah go version mencetak versi toolchain yang aktif diikuti sistem operasi dan arsitektur prosesornya. Perintah ini adalah cara tercepat memastikan instalasi Go hidup dan terbaca oleh PATH:

bash
go version

Output yang Dihasilkan:

text
go version go1.27.2 linux/amd64

Tiga bagian keluaran tersebut punya arti masing-masing: go1.27.2 adalah versi toolchain, linux adalah sistem operasi tempat toolchain tersebut dibangun, dan amd64 adalah arsitektur prosesornya. Keluaran di atas diambil dari lingkungan penulisan materi ini; di komputer Windows atau macOS, dua bagian terakhir akan menyesuaikan secara otomatis.

Menjalankan Program dengan go run #

Perintah go run mengompilasi satu program lalu langsung menjalankan hasilnya dalam satu langkah, tanpa menyisakan berkas biner di folder kerja. Mari kita buat program kecil di luar proyek untuk membuktikannya. Simpan kode berikut ke berkas /tmp/halo.go:

go
package main

import "fmt"

func main() {
	fmt.Println("Halo dari terminal!")
}

Lalu jalankan dengan menyebut jalur berkasnya:

bash
go run /tmp/halo.go

Output yang Dihasilkan:

text
Halo dari terminal!

Di balik layar, perintah go run mengompilasi program ke direktori sementara, mengeksekusinya, lalu membersihkan jejaknya. Hasil kompilasi yang sama disimpan di build cache, sehingga pemanggilan berikutnya dengan berkas yang tidak berubah berjalan jauh lebih cepat. Untuk program latihan satu berkas yang hanya memakai standard library, jalur ini bekerja meski /tmp tidak memiliki go.mod; proyek dengan banyak berkas tetap membutuhkan module sebagaimana dibahas pada chapter Memahami Go Workspace .

Melihat Konfigurasi dengan go env #

Perintah go env mencetak seluruh konfigurasi lingkungan Go, atau nilai satu variabel saja apabila nama variabelnya disertakan sebagai argumen. Perintah ini adalah alat diagnosis pertama ketika perilaku go terasa aneh:

bash
go env GOVERSION GOROOT GOPATH GOCACHE

Output yang Dihasilkan:

text
go1.27.2
/home/z/tools/go
/home/z/go
/home/z/.cache/go-build

Empat baris tersebut menjawab empat pertanyaan yang paling sering muncul: versi toolchain yang aktif (GOVERSION), lokasi instalasi Go (GOROOT), direktori kerja pengguna (GOPATH), dan lokasi build cache (GOCACHE). Nilai-nilai di atas milik lingkungan penulisan materi ini; di komputer Anda, tiga baris terakhir mengikuti lokasi instalasi dan direktori home Anda masing-masing. Perintah go env tanpa argumen akan mencetak seluruh variabel sekaligus, sedangkan go env -w untuk mengubah nilai permanen telah kita praktikkan pada chapter Konfigurasi GOROOT dan GOPATH .

Menjelajahi Perintah dengan go help #

Perintah go memiliki puluhan subperintah, dan go help mencetak seluruh daftarnya beserta topik bantuan tambahan:

bash
go help

Output yang Dihasilkan:

text
Go is a tool for managing Go source code.

Usage:

	go <command> [arguments]

The commands are:

	bug         start a bug report
	build       compile packages and dependencies
	clean       remove object files and cached files
	doc         show documentation for package or symbol
	env         print Go environment information
	fix         apply fixes suggested by static checkers
	fmt         gofmt (reformat) package sources
	generate    generate Go files by processing source
	get         add dependencies to current module and install them
	install     compile and install packages and dependencies
	list        list packages or modules
	mod         module maintenance
	run         compile and run Go program
	telemetry   manage telemetry data and settings
	test        test packages
	tool        run specified go tool
	version     print Go version
	vet         report likely mistakes in packages
	work        workspace maintenance

Use "go help <command>" for more information about a command.

Additional help topics:

	buildconstraint build constraints
	buildjson       build -json encoding
	buildmode       build modes
	c               calling between Go and C
	cache           build and test caching
	environment     environment variables
	filetype        file types
	goauth          GOAUTH environment variable
	go.mod          the go.mod file
	gopath          GOPATH environment variable
	goproxy         module proxy protocol
	importpath      import path syntax
	modules         modules, module versions, and more
	module-auth     module authentication using go.sum
	packages        package lists and patterns
	private         configuration for downloading non-public code
	testflag        testing flags
	testfunc        testing functions
	vcs             controlling version control with GOVCS

Use "go help <topic>" for more information about that topic.

Daftar tersebut dibaca seperti peta jalan: baris run menjelaskan dirinya sebagai “compile and run Go program”, dan setiap subperintah lain memiliki penjelasan satu baris yang serupa. Topik bantuan tambahan di bagian bawah membedah konsep lintas perintah, misalnya go help environment untuk seluruh variabel lingkungan, go help modules untuk sistem module, dan go help cache untuk cara kerja cache.

Ringkasan Perintah Inti #

PerintahFungsiContoh pemakaian
go versionmencetak versi dan arsitektur toolchainmemverifikasi instalasi
go runmengompilasi lalu menjalankan programuji cepat program latihan
go envmencetak konfigurasi lingkungan Gomemeriksa GOPATH dan GOROOT
go helpmencetak daftar perintah dan topik bantuanmenjelajahi subperintah baru

Empat perintah ini adalah pintu masuk ke seluruh ekosistem tooling Go. Sebelum melangkah ke materi bahasa, ada satu lapisan pengetahuan terakhir yang perlu kita miliki: membaca angka versi Go dan kebijakan dukungannya, karena angka tersebut akan menyertai kita di setiap go.mod dan catatan rilis.

Referensi #