Saya telah menggunakan GOPATHtetapi 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.gobekerja di dan binary1.goatau binary2.gosebagainya?
Sebagai contoh; Saya ingin dapat import "package1"dan kemudian dapat menjalankan go build binary1.godan semuanya berfungsi dengan baik tanpa kesalahan dilemparkan bahwa paket tidak dapat ditemukan di GOROOTatau 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.
.gofile dalam direktori tunggal adalah bagian dari paket yang sama, dan Anda tidak perlu importfile 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/projectpath? 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.