ما الفرق بين `go get` و `go install` في Go؟
مرحبًا! لقد بدأت مؤخرًا في تعلم Go وأحاول فهم إدارة التبعيات وبناء المشاريع. كثيرًا ما أرى استخدام الأمرين `go get` و `go install`، لكنني لا أفهم تمامًا الفرق بينهما.\n\nعلى سبيل المثال، أريد تثبيت الأداة `hey` لاختبار الأداء. في التوثيق مكتوب: `go get -u github.com/rakyll/hey` و `go install github.com/rakyll/hey@latest`. يبدو أن كلا الأمرين يقومان بتنزيل وتثبيت البرنامج، لكنني لاحظت أنه بعد `go get` ظهر الملف الثنائي في `$GOPATH/bin`، وبعد `go install` ظهر أيضًا في نفس المكان، ولكن في مجلد المشروع ظهر ملف `go.sum`.\n\nكما جربت استخدام `go get` لإضافة مكتبة إلى مشروعي: `go get github.com/gin-gonic/gin`. بعد ذلك، ظهر سطر بالتبعية في `go.mod`، وظهرت التجزئات في `go.sum`.