Go Workspace Multi Module Gowork Replace Shared Packages Local Dev
Definisi
go.work (Go 1.18+) mengelola multi-module dalam satu workspace tanpa merusak go.mod masing-masing. Cocok untuk monorepo: beberapa module (api, lib, cli) berkembang bersama tapi tiap punya versi sendiri. replace di go.mod menunjuk dependensi ke path lokal saat dev.
Kapan dipakai
Pakai go.work saat mengembangkan beberapa module sekaligus (library + aplikasi yang menggunakannya) tanpa publish ke registry. Untuk dependensi eksternal biasa, cukup go.mod + require.
Cara kerja
go.work
go work init ./api ./lib ./cli
# hasil: go.work berisi use ./api ./lib ./cliSekarang api bisa import "example.com/lib" dan Go mencari di folder lokal ./lib, bukan proxy.