ما الذي يفعله `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