go get робить дві основні речі в такому порядку:
-dПрапор ( go get -d) інструктує go getприпинити після завантаження пакетів; тобто вказує go getне робитиgo install
різниця:
go get // перевіряємо, чи потрібно завантажувати пакети, завантажуємо, якщо потрібно, потім компілюємо
go install // пропустити частину із завантаженням пакетів, просто скомпілювати (це призведе до помилки, якщо відсутні будь-які пакунки)
про GOPATHзмінну середовища
GOPATHМінлива оточення використовується утилітами Go. Він повинен бути встановлений для того , щоб бути в змозі get, buildі installпакети, і це визначає місце розташування вашого робочого простору. Ймовірно, це єдина змінна середовища, яку вам потрібно буде встановити при розробці коду Go.
Знову ж таки, GOPATHне повинно вказувати на інсталяцію Go, а на вашу робочу область.
Наприклад, у Windows, якщо ви вирішите, що ваша робоча область знаходиться c:\gowork\, вам потрібно буде встановити GOPATHзначення якc:\gowork

Ваш вихідний код повинен бути в c:\gowork\src\<some project folder>\і після запуску go getв командному рядку зсередини c:\gowork\src\<some project folder>\ви побачите c:\gowork\bin\і c:\gowork\pkg\створюється.
go get ./path/to/local_packageтеж скористатися , і він би поводився так само, як ніби яgo install ./path/to/local_package, правда? Оскільки в цьому випадку немає процесу завантаження.