Go — компилируемый язык, поэтому нативного hot reload нет. При изменении кода нужно пересобрать и перезапустить бинарник. Для удобства разработки используют watcher-утилиты: air, reflex, CompileDaemon — они следят за изменениями файлов, пересобирают проект и перезапускают. Это не настоящий hot reload как в интерпретируемых языках, а скорее auto-restart. Для production hot reload не нужен — используют graceful shutdown + rolling deploy в Kubernetes, где новые поды стартуют до остановки старых.