Saya telah menggunakan GOPATH
tetapi untuk masalah saat ini saya menghadapinya tidak membantu. Saya ingin dapat membuat paket yang khusus untuk proyek:
myproject/
├── binary1.go
├── binary2.go
├── package1.go
└── package2.go
Saya mencoba beberapa cara tetapi bagaimana saya bisa mulai package1.go
bekerja di dan binary1.go
atau binary2.go
sebagainya?
Sebagai contoh; Saya ingin dapat import "package1"
dan kemudian dapat menjalankan go build binary1.go
dan semuanya berfungsi dengan baik tanpa kesalahan dilemparkan bahwa paket tidak dapat ditemukan di GOROOT
atau GOPATH
. Alasan mengapa saya memerlukan fungsionalitas semacam ini adalah untuk proyek skala besar; Saya tidak ingin harus merujuk beberapa paket lain atau menyimpannya dalam satu file besar.
.go
file dalam direktori tunggal adalah bagian dari paket yang sama, dan Anda tidak perlu import
file dalam paket yang sama (yaitu direktori yang sama). Anda menyebutkan bekerja di luar GOPATH, yang merupakan salah satu kemampuan sistem modul Go yang baru. Jawaban ini mencakup struktur modul, mengimpor paket lokal, mengatur paket dalam suatu modul, apakah memiliki beberapa modul dalam repositori tunggal, dll.
git/repo/to/my/project
path? Saya hanya tidak melihat alasan mengapa ada orang yang menginginkan perilaku ini. Bagaimana jika Anda memindahkan proyek Anda ke lokasi lain (yaitu gambar Docker), Anda perlu mengubah semua jalur lagi? Saya mencari jawaban mengapa ini sangat rumit.