Sobes.tech
Junior — Middle

Můžete vysvětlit, co je to router v jazyce Go a jak se používá?

sobes.tech AI

Odpověď od AI

V jazyce Go se pojem "router" obvykle vztahuje na komponentu webového serveru, který při příchozích HTTP požadavcích mapuje požadavky na odpovídající obslužné funkce (handlers) na základě URL cest a metod.

Router umožňuje definovat, jaký kód má být spuštěn při přístupu na určitou trasu, například /users nebo /products/{id}.

Příklad použití routeru s populárním balíčkem gorilla/mux:

package main

import (
    "fmt"
    "net/http"
    "github.com/gorilla/mux"
)

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintln(w, "Hello, world!")
    }).Methods("GET")

    http.ListenAndServe(":8080", r)
}

Zde router r směruje GET požadavky na /hello na odpovídající obslužnou funkci.

V kontextu Flutter je "router" mechanismus navigace mezi obrazovkami (routes), ale v Go je to přesně komponenta serveru pro zpracování HTTP požadavků.