В чем разница между специальными запросами @latest и @upgrade при работе с командами модуля golang, например go get?
Я думал, что latest просто установит для выбранного модуля последнюю известную версию, а upgrade просто «обновит» до следующей известной версии (если ни одна не известна, то он загрузит последнюю). Однако в обоих случаях идет только последняя версия, так в чем же разница?
@MilosStojanovic Вы можете проверить это с помощью этого модуля (github.com/julienschmidt/httprouter). У него 3 версия, поэтому ее легко проверить.

Цитирование и перефразирование документации (https://go.dev/ref/mod#version-queries)
«последний», который выбирает самую последнюю доступную версию выпуска. Если выпускных версий нет, команда «Последняя» выбирает самую старшую предварительную версию. Если нет помеченных версий, то последняя выбирает псевдоверсию для фиксации на кончике ветки репозитория по умолчанию.
«обновление» похоже на «последнюю версию», за исключением того, что если в данный момент требуется модуль более высокой версии, чем выбрана последняя версия (например, предварительная версия), при обновлении будет выбрана текущая версия.
Например, если доступны версии v1.2.2 и v1.2.3-pre, последний запрос выберет версию v1.2.2, даже если версия v1.2.3-pre более поздняя.
Спасибо, можете просто дать ссылку на документацию, где вы ее нашли :)
Может быть, следующая известная версия тоже самая последняя? Как вы проверили и получили такой результат?