Avatar ·

ما الذي يفعله `go build` في الواقع؟ فهم `go build` مقابل `go install`

مرحبًا بالجميع! لقد بدأت للتو في تعلم Go وأحاول فهم كيفية بناء المشاريع بشكل صحيح. قرأت الكثير من المقالات، لكني ما زلت مرتبكًا بين الأمرين `go build` و `go install`. لدي مشروع بسيط يحتوي على حزمة main في الجذر. عندما أقوم بتشغيل `go build` في مجلد المشروع، يقوم بإنشاء ملف binary في نفس المكان (أستخدم Go 1.20 على Windows). ولكن إذا قمت بتشغيل `go install`، فلا أرى أي ملف binary في مجلد المشروع، لكن يظهر ملفي القابل للتنفيذ في `%GOPATH%/bin`. ما الفرق هنا؟ لماذا أحتاج `go install` إذا كان `go build` يقوم بإنشاء ملف binary؟ لقد سمعت أن `go build` يتحقق من التبعيات بطريقة ما، وأن `go install` يقوم بتثبيتها؟ أم أن هذا غير صحيح؟ الكود الخاص بي كمثال: ```go package main import "fmt" func main() { fmt.Println("Hello, Go!") } ``` أقوم بتشغيل `go buil