В чем разница между http.CreateNewMux() и дефолтным мультиплексором?

Есть пару вопросов по веб программированию на go.
1. В чем разница между созданием мультиплексера через http.CreateNewMux() и дефолтным мультиплексером.
2. Почему Handler в аргументах принимает ResponeWriter по значению, а Request как указатель?
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 1
1) Разница лишь в том, что при вызове http.ListenAndServe нужно было бы передавать вторым аргументом созданный ServeMux. Если вы пользуетесь только стандартным пакетом net/http, то проще использовать дефолтный ServeMux, в то же время создание кастомного Mux'а позволяет использовать такие пакеты, как github.com/gorilla/mux

2) Хороший ответ на SO: https://stackoverflow.com/a/13256311/7752659. Если коротко, то http.ResponesWriter – это interface, а interface, грубо говоря, уже является указателем. http.Request является указателем для того, чтобы при его изменении сервер мог "видеть" эти изменения
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы