← Kembali ke kursus
Pelajaran kursus · Go
Pelajaran 03

Setup proyek dengan Go Modules

Kelola proyek dan dependensi dengan go mod.

Pahami konsepnya

Module adalah unit proyek di Go: satu folder berisi kode plus berkas go.mod yang mencatat nama modul dan daftar dependensinya. Buat dengan go mod init nama-modul — nama ini biasanya berupa path repository (mis. github.com/kamu/proyek) supaya bisa diimpor dari mana saja.

Menambah pustaka pihak ketiga cukup dengan go get: perintah itu mengunduh versi terpilih dan mencatatnya di go.mod serta go.sum. Sebaliknya, go mod tidy membuang dependensi yang tak lagi dipakai dan menambahkan yang belum tercatat.

Dengan module, folder proyek boleh berada di mana pun — tidak harus di dalam GOPATH. go.mod adalah kontrak versi; go.sum menyimpan checksum agar dependensi yang terunduh selalu identik di setiap komputer.

Coba contoh kode

$ mkdir halo && cd halo
$ go mod init github.com/kamu/halo
go: creating new go.mod: module github.com/kamu/halo

$ go get github.com/google/uuid
go: added github.com/google/uuid v1.6.0

go mod init membuat berkas go.mod di folder aktif — dari titik ini folder tersebut resmi menjadi satu modul. go get kemudian mengunduh uuid dan menambahkannya ke daftar dependensi; saat berikutnya dibangun di komputer lain, versi yang sama persis yang akan dipakai.

Memakai dependensi dalam kode

package main

import (
    "fmt"

    "github.com/google/uuid"
)

func main() {
    fmt.Println(uuid.NewString())
}

Pustaka eksternal diimpor dengan path lengkapnya persis seperti tercantum di go.mod. Jalankan dengan go run main.go — Go mengambil dependensi dari cache lokal tanpa perlu unduh ulang.