Golang Дайджест
8.05K subscribers
36 photos
1 file
170 links
Самое интересное из мира Go: новости, статьи, проекты, сервисы, изменения в языке и др.

Посты публикуются не часто - только самое важное, с чем я лично ознакомился.

Поэтому можно не мьютить канал =)

Обратная связь: @justskiv
Download Telegram
Прокачали логгер, теперь взялись за HTTP-роутер

https://eli.thegreenplace.net/2023/better-http-server-routing-in-go-122/

- Proposal
- Документация

Пример кода:

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)
}


1. В первом хэнделере мы видим явное указание HTTP-метода (GET)
2. Во втором - компонент {id} и r.PathValue("id") для получения значения

За ссылку спасибо @batazor

#go_updates #http #mux
👍182🔥2