В стандартной библиотеке есть net/http — полноценный production-ready HTTP сервер. Регистрируешь хендлеры через http.HandleFunc("/path", handler) или через свой mux, запускаешь http.ListenAndServe(":8080", nil). Каждый входящий запрос обрабатывается в отдельной горутине — конкурентность из коробки. Хендлер принимает http.ResponseWriter и *http.Request. Для production добавь таймауты в http.Server{ReadTimeout, WriteTimeout}, иначе slow clients сожрут ресурсы.