Junior — Middle
Kas saaksite selgitada, mis on marsruutijaator Go keeles ja kuidas seda kasutatakse?
sobes.tech AI
Vastus AI-lt
Go keeles termin "router" viitab tavaliselt veebiserveri komponendile, mis vastutab sisenevate HTTP-päringute vastavusse viimisega vastavate käsitlejatega (handlers) URL-tee ja meetodite alusel.
Router võimaldab määratleda, milline kood peaks käivituma, kui pääseb teatud marsruudile, näiteks /users või /products/{id}.
Näide populaarse paketiga gorilla/mux routeri kasutamisest:
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)
}
Siin suunab router r GET-päringud aadressile /hello vastava käsitleja funktsioonini.
Flutteri kontekstis, kui küsimus puudutab rakenduses marsruutimist, siis "router" on navigeerimismehhanism ekraanide (routes) vahel, kuid Go puhul on see täpselt serveri komponent HTTP-päringute töötlemiseks.