Может ли кто-нибудь объяснить разницу между следующими двумя вызовами относительно goroutines?
Метод 1
fmt.Println("Starting srv")
go LOGGER.Error(srv.ListenAndServe())
fmt.Println("Starting intSrv")
go LOGGER.Error(intSrv.ListenAndServe())
Это останавливается после выполнения «Starting srv»
Метод2
go func() {
fmt.Println("Starting srv")
srv.ListenAndServe()
}()
go func() {
fmt.Println("Starting intSrv")
intSrv.ListenAndServe()
}()
Выполняется "Starting srv" и "Starting intSrv"
Почему поведение отличается?