Comment mettre à jour correctement les packages tiers en Go ? (go get, go mod tidy)
Bonjour à tous ! Je viens de commencer à apprendre Go et je viens de JavaScript, où pour mettre à jour les packages on écrit simplement `npm update`. En Go, je suis un peu perdu.
J'ai un projet dans lequel j'utilise plusieurs bibliothèques tierces, par exemple `github.com/gorilla/mux` et `github.com/jmoiron/sqlx`. Je les ai ajoutées via `go get`, et dans `go.mod` des entrées avec des versions sont apparues.
Maintenant, je veux mettre à jour ces packages vers les dernières versions, mais je ne comprends pas comment faire correctement. J'ai essayé d'écrire `go get -u`, mais il semble que cela mette tout à jour, et j'ai commencé à avoir des problèmes de compatibilité. J'ai aussi entendu parler de `go mod tidy`, mais je ne suis pas sûr de son utilité — est-ce qu'il nettoie simplement les déchets ou met-il aussi à jour ?
De plus, je suis troublé par le fait que dans `go.sum` il y a plein de hashs, et j'ai peur de les casser accidentellement. S'il vous plaît, dites-moi quelle est la séquence correcte d'actions pour mettre à jour un package spécifique (par exemple, seulement `gorilla/mux`), et non tout à la fois ? Et comment revenir en arrière si quelque chose se casse après la mise à jour ?
Exemple de mon `g