Sobes.tech
Junior — Middle

Kun je uitleggen wat een router is in de Go-taal en hoe deze wordt gebruikt?

sobes.tech AI

Antwoord van AI

In de programmeertaal Go verwijst de term "router" meestal naar een component van de webserver die inkomende HTTP-verzoeken koppelt aan de juiste handlers op basis van URL-paden en methoden.

De router maakt het mogelijk om te bepalen welke code moet worden uitgevoerd bij het benaderen van een specifieke route, bijvoorbeeld /users of /products/{id}.

Voorbeeld van het gebruik van de router met het populaire pakket 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)
}

Hier leidt de router r GET-verzoeken naar /hello door naar de juiste handlerfunctie.

In de context van Flutter, als de vraag betrekking heeft op routing in een app, dan is "router" een mechanisme voor navigatie tussen schermen (routes), maar in Go is het precies een servercomponent voor het verwerken van HTTP-verzoeken.