Go Command List
Daftar dibawah ini adalah beberapa perintah CLI Bahasa Go
go mod init
go run
go test
go build
go get
go mod tidy
go mod vendor
command go mod init
Digunakan untuk inisialisasi project pada Go (Menggunakan Go Modules). Untuk nama project bisa menggunakan nama apapun, tapi umum nya adalah disamakan dengan nama directori
command go run
digunakan untuk eksekusi file program (file ber-ektensi .go). Cara penggunaan nya dengan menuliskan command tersebut diikuti argumen nama file, contoh:
go run main.go
command go run hanya bisa digunakan pada file yang didalam nya terdapat package main
command go test*
Go menyediakan package testing, berguna untuk keperluan unit test. File yang akan di test harus memiliki akhiran _test.go. berikut contoh:
go test main_test.go
command go build
Command ini digunakan untuk mengkompilasi file program.
Sebenarnya ketika eksekusi program menggunakan go run, terjadi proses kompilasi juga. File hasil kompilasi akan disimpan pada folder temporary untuk selanjutnya langsung dieksekusi.
Berbeda dengan go build, command ini menghasilkan file executable atau binary pada folder yang sedang aktif.
Untuk nama executable sendiri bisa diubah menggunakan flag -o. Contoh:
go build -o program.exe
command go get
Command go get digunakan untuk men-download package. Sebagai contoh ingin men-download package Kafka driver untuk Go pada projek.
go get github.com/segmentio/kafka-go
github.com/segmentio/kafka-go adalah URL package kafka-go. Package yang sudah terunduh tersimpan dalam temporary folder yang ter-link dengan project folder di mana command go get dieksekusi, menjadikan projek tersebut bisa meng-import package terunduh. Untuk mengunduh dependensi versi terbaru, gunakan flag -u pada command go get, misalnya:
go get -u github.com/segmentio/kafka-go
Command go get harus dijalankan dalam folder project.
command go mod tidy
Command go mod tidy digunakan untuk memvalidasi dependensi. Jika ada dependensi yang belum ter-download, maka akan otomatis di-download.
command go mpd vendor
Command ini digunakan untuk vendoring.