Sobes.tech
Junior — Middle

Môžete vysvetliť, čo je smerovač v jazyku Go a ako sa používa?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa zvyčajne pojem "router" odkazuje na komponentu webového servera, ktorá je zodpovedná za mapovanie prichádzajúcich HTTP požiadaviek na príslušné handler-y na základe URL ciest a metód.

Router umožňuje definovať, aký kód má byť vykonaný pri prístupe na určitú trasu, napríklad /users alebo /products/{id}.

Príklad použitia routera s populárnym balíkom 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)
}

Tu router r smeruje GET požiadavky na /hello na príslušnú handler funkciu.

V kontexte Flutter-u, ak sa otázka týka routovania v aplikácii, "router" je mechanizmus navigácie medzi obrazovkami (routes), ale v Go je to presne komponent servera na spracovanie HTTP požiadaviek.