Go Modules Versioning Replace Semantic Import Major Version
Definisi
Go Modules menggunakan semantic import versioning: untuk major version ≥ 2, import path harus menyertakan /v2, /v3, dst (github.com/x/lib/v3). replace directive di go.mod memetakan modul ke path/versi lain (lokal atau fork) tanpa mengubah kode impor.
Kapan dipakai
Pakai /vN saat rilis major version yang breaking. Pakai replace saat debug modul lokal, fork patch, atau vendor sementara. Jangan pakai replace permanen di library publik (pemakai tak bisa override).
Cara kerja
Major version path
import "github.com/foo/lib/v3" // wajib /v3 untuk v3+replace lokal