Setup Environment & Project Pertama
Go atau sering disebut Golang adalah bahasa pemrograman modern yang dibuat oleh Google pada tahun 2009 dan dirilis secara publik pada tahun 2012. Go dirancang untuk menyelesaikan masalah yang sering muncul pada pengembangan software skala besar, terutama dalam hal performa, concurrency, dan kemudahan maintenance.
Saat ini Go banyak digunakan untuk membangun backend service, microservices, cloud infrastructure, API server, hingga sistem dengan kebutuhan performa tinggi.
Pada artikel pertama dari series Golang Core Mastery, kita akan mengenal alasan mengapa Go banyak digunakan di industri, melakukan setup environment, memahami struktur project Go, serta membuat project pertama menggunakan Go.
Mengapa Memilih Go?
Sebelum mulai menulis kode, penting untuk memahami alasan mengapa banyak perusahaan memilih Go dibandingkan bahasa pemrograman lainnya.
Go dibuat dengan filosofi yang sederhana: kode harus mudah dibaca, mudah dipelihara, dan memiliki performa tinggi.
Berbeda dengan beberapa bahasa modern yang memiliki banyak fitur kompleks, Go memilih pendekatan minimalis. Bahasa ini memiliki syntax yang relatif kecil sehingga developer dapat lebih fokus menyelesaikan masalah dibandingkan mempelajari banyak fitur bahasa.
Beberapa alasan utama Go banyak digunakan:
Performa mendekati bahasa seperti C dan C++
Syntax sederhana dan mudah dipahami
Built-in concurrency dengan goroutine
Kompilasi cepat menjadi executable binary
Memory management menggunakan garbage collector
Cocok untuk cloud native dan microservices
Contoh perusahaan yang menggunakan Go dalam sistem mereka antara lain perusahaan teknologi besar yang membutuhkan backend dengan jumlah request tinggi dan sistem terdistribusi.
Keunggulan Go untuk Backend Development
Dalam dunia backend development, performa dan scalability menjadi faktor penting.
Go memiliki fitur goroutine, yaitu lightweight thread yang memungkinkan developer menjalankan banyak proses secara bersamaan dengan penggunaan resource yang kecil.
Sebagai contoh, sebuah API mungkin harus melakukan beberapa pekerjaan secara bersamaan:
Mengambil data dari database
Memanggil external API
Mengirim notifikasi
Melakukan proses background
Dengan Go, pekerjaan tersebut dapat dilakukan menggunakan concurrency tanpa membutuhkan thread berat seperti pada beberapa bahasa lain.
Contoh sederhana menjalankan function secara asynchronous:
package main
import (
"fmt"
"time"
)
func process() {
fmt.Println("Processing data...")
}
func main() {
go process()
time.Sleep(time.Second)
fmt.Println("Application finished")
}Keyword go pada function process() akan menjalankan function tersebut sebagai goroutine.
Pembahasan concurrency akan dibahas lebih dalam pada artikel berikutnya di series ini.
Instalasi Go
Sebelum membuat project pertama, langkah awal adalah melakukan instalasi Go pada komputer.
Go tersedia untuk berbagai sistem operasi seperti:
Windows
macOS
Linux
Download installer Go melalui website resminya kemudian lakukan instalasi sesuai sistem operasi yang digunakan.
Setelah proses instalasi selesai, pastikan Go sudah berhasil terpasang dengan menjalankan command berikut:
go versionJika berhasil, output akan menampilkan versi Go yang digunakan.
Contoh:
go version go1.24.0 linux/amd64Selain mengecek versi, kita juga dapat melihat konfigurasi environment Go menggunakan:
go envCommand tersebut akan menampilkan informasi seperti lokasi instalasi Go, GOPATH, dan konfigurasi lainnya.
Mengenal Go Workspace
Berbeda dengan bahasa seperti PHP atau JavaScript yang biasanya menggunakan folder bebas, Go memiliki konsep module yang digunakan untuk mengatur dependency dan identitas project.
Sejak Go versi 1.11, Go menggunakan sistem Go Modules.
Go Modules membuat project Go menjadi lebih mudah dikelola karena:
Dependency tercatat otomatis
Versi package dapat dikontrol
Project tidak harus berada di dalam GOPATH
Struktur sederhana project Go:
hello-go/
│
├── go.mod
└── main.goFile utama biasanya bernama main.go, sedangkan go.mod berisi informasi module dan dependency.
Membuat Project Go Pertama
Untuk membuat project baru, buat sebuah folder terlebih dahulu:
mkdir hello-go
cd hello-goKemudian inisialisasi Go module:
go mod init hello-goCommand tersebut akan membuat file:
go.modIsi file go.mod:
module hello-go
go 1.24File tersebut berfungsi sebagai identitas project.
Jika nanti project membutuhkan library tambahan, dependency tersebut akan tercatat di file ini.
Membuat Hello World dengan Go
Buat file baru bernama:
main.goKemudian tambahkan kode berikut:
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}Mari kita breakdown kode tersebut.
Bagian pertama:
package mainMenentukan package utama dari aplikasi.
Pada Go, setiap executable program harus memiliki package bernama main.
Bagian kedua:
import "fmt"Digunakan untuk memasukkan package bawaan Go.
Package fmt menyediakan fungsi untuk formatting dan menampilkan output.
Bagian terakhir:
func main() {
fmt.Println("Hello, Go!")
}Function main() adalah entry point aplikasi.
Saat program dijalankan, Go akan mencari function main() kemudian mengeksekusinya.
Menjalankan Program Go
Untuk menjalankan aplikasi Go, gunakan command:
go run main.goOutput:
Hello, Go!Command go run akan melakukan compile sementara kemudian menjalankan program.
Selain itu, Go juga dapat membuat executable binary.
Gunakan command:
go buildHasilnya akan berupa file executable yang dapat dijalankan tanpa membutuhkan source code.
Contoh:
./hello-goOutput:
Hello, Go!

