Quelle est la différence entre `go get` et `go install` en Go ?
Bonjour ! J'ai récemment commencé à apprendre Go et j'essaie de comprendre la gestion des dépendances et la construction de projets. Je vois souvent l'utilisation des commandes `go get` et `go install`, mais je ne comprends pas bien la différence entre elles.
Par exemple, je veux installer l'utilitaire `hey` pour les tests de charge. Dans la documentation, il est écrit : `go get -u github.com/rakyll/hey` et `go install github.com/rakyll/hey@latest`. Les deux commandes semblent télécharger et installer le programme, mais j'ai remarqué qu'après `go get`, le binaire apparaît dans `$GOPATH/bin`, et après `go install` aussi, mais en plus, un fichier `go.sum` apparaît dans le dossier du projet.
J'ai aussi essayé d'utiliser `go get` pour ajouter une bibliothèque à mon projet : `go get github.com/gin-gonic/gin`. Après cela, une ligne avec la dépendance est apparue dans `go.mod`, et des hash dans `go.sum`. Mais j'ai lu que dans les nouvelles versions de Go (1.16+), `go get` n'est pas recommandé pour installer des binaires, mais seulement pour gérer les dépendances.
Pouvez-vous expliquer quelle est exactement la différence ? Quand dois-je utiliser