GOLANG_INTERVIEW Telegram 320
🦫Улучшенная маршрутизация HTTP-серверов в Go 1.22

В Go 1.22 ожидается появление расширенного мультиплексора для обработки HTTP в пакете net/http.
Новый мультиплексор позволит сопоставлять шаблоны путей более гибко, что раньше требовало использования сторонних библиотек, таких как gorilla/mux.

Использование нового mux
Если вы когда-либо использовали сторонние пакеты mux/маршрутизаторов для Go (например, gorilla/mux), то использование нового стандартного mux будет простым и привычным. Начните с чтения документации по нему - она краткая и понятная.

Давайте рассмотрим несколько базовых примеров использования. Наш первый пример демонстрирует некоторые из новых возможностей mux по сопоставлению шаблонов:

package main

import (
"fmt"
"net/http"
)

func main() {
mux := http.NewServeMux()
mux.HandleFunc("GET /path/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "got path\n")
})

mux.HandleFunc("/task/{id}/", func(w http.ResponseWriter, r *http.Request) {
id := r.PathValue("id")
fmt.Fprintf(w, "handling task with id=%v\n", id)
})

http.ListenAndServe("localhost:8090", mux)
}


Опытные программисты на Go сразу же заметят две новые особенности:

- В первом обработчике метод HTTP (в данном случае GET) указывается явно в составе шаблона. Это означает, что данный обработчик сработает только для GET-запросов к путям, начинающимся с /path/, а не для других HTTP-методов.

- Во втором обработчике во втором компоненте пути присутствует подстановочный знак - {id}, который ранее не поддерживался. Подстановочный знак будет соответствовать одному компоненту пути, и обработчик сможет получить доступ к найденному значению через метод PathValue запроса.

Поскольку Go 1.22 еще не выпущен, я рекомендую запускать этот пример с gotip. Полный пример кода с инструкциями по его выполнению. Давайте проверим работу этого сервера:

📌 Читать дальше

@golang_interview
🔥27👍51



tgoop.com/golang_interview/320
Create:
Last Update:

🦫Улучшенная маршрутизация HTTP-серверов в Go 1.22

В Go 1.22 ожидается появление расширенного мультиплексора для обработки HTTP в пакете net/http.
Новый мультиплексор позволит сопоставлять шаблоны путей более гибко, что раньше требовало использования сторонних библиотек, таких как gorilla/mux.

Использование нового mux
Если вы когда-либо использовали сторонние пакеты mux/маршрутизаторов для Go (например, gorilla/mux), то использование нового стандартного mux будет простым и привычным. Начните с чтения документации по нему - она краткая и понятная.

Давайте рассмотрим несколько базовых примеров использования. Наш первый пример демонстрирует некоторые из новых возможностей mux по сопоставлению шаблонов:

package main

import (
"fmt"
"net/http"
)

func main() {
mux := http.NewServeMux()
mux.HandleFunc("GET /path/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "got path\n")
})

mux.HandleFunc("/task/{id}/", func(w http.ResponseWriter, r *http.Request) {
id := r.PathValue("id")
fmt.Fprintf(w, "handling task with id=%v\n", id)
})

http.ListenAndServe("localhost:8090", mux)
}


Опытные программисты на Go сразу же заметят две новые особенности:

- В первом обработчике метод HTTP (в данном случае GET) указывается явно в составе шаблона. Это означает, что данный обработчик сработает только для GET-запросов к путям, начинающимся с /path/, а не для других HTTP-методов.

- Во втором обработчике во втором компоненте пути присутствует подстановочный знак - {id}, который ранее не поддерживался. Подстановочный знак будет соответствовать одному компоненту пути, и обработчик сможет получить доступ к найденному значению через метод PathValue запроса.

Поскольку Go 1.22 еще не выпущен, я рекомендую запускать этот пример с gotip. Полный пример кода с инструкциями по его выполнению. Давайте проверим работу этого сервера:

📌 Читать дальше

@golang_interview

BY Golang вопросы собеседований


Share with your friend now:
tgoop.com/golang_interview/320

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. Choose quality over quantity. Remember that one high-quality post is better than five short publications of questionable value. The group’s featured image is of a Pepe frog yelling, often referred to as the “REEEEEEE” meme. Pepe the Frog was created back in 2005 by Matt Furie and has since become an internet symbol for meme culture and “degen” culture. To delete a channel with over 1,000 subscribers, you need to contact user support
from us


Telegram Golang вопросы собеседований
FROM American