РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1016 of 1593 menu

Функция http.NewServeMux

Функция http.NewServeMux создает новый экземпляр мультиплексора HTTP-запросов, который реализует интерфейс http.Handler. Мультиплексор позволяет регистрировать обработчики для различных путей URL и направляет входящие HTTP-запросы к соответствующему обработчику на основе пути запроса. Функция не принимает никаких параметров и возвращает указатель на структуру http.ServeMux.

Синтаксис

func NewServeMux() *ServeMux

Пример

Давайте создадим новый мультиплексор и зарегистрируем обработчик для корневого пути:

package main import ( "fmt" "net/http" ) func main() { mux := http.NewServeMux() mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") }) http.ListenAndServe(":8080", mux) }

Пример

Давайте создадим мультиплексор с несколькими обработчиками для разных путей:

package main import ( "fmt" "net/http" ) func main() { mux := http.NewServeMux() mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Home page") }) mux.HandleFunc("/about", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "About page") }) mux.HandleFunc("/contact", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Contact page") }) http.ListenAndServe(":8080", mux) }

Пример

Давайте создадим мультиплексор с обработчиком, который использует структуру, реализующую интерфейс http.Handler:

package main import ( "fmt" "net/http" ) type helloHandler struct{} func (h helloHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello from custom handler") } func main() { mux := http.NewServeMux() mux.Handle("/hello", helloHandler{}) http.ListenAndServe(":8080", mux) }

Смотрите также

  • структуру http.ServeMux,
    которая представляет мультиплексор HTTP-запросов
  • метод ServeMux.Handle,
    который регистрирует обработчик для указанного пути
  • метод ServeMux.HandleFunc,
    который регистрирует функцию-обработчик для указанного пути
  • функцию http.ListenAndServe,
    которая запускает HTTP-сервер с указанным обработчиком
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить