Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι είναι ένας δρομολογητής στη γλώσσα Go και πώς χρησιμοποιείται;

sobes.tech AI

Απάντηση από AI

Στη γλώσσα Go, ο όρος "δρομολογητής" αναφέρεται συνήθως σε ένα συστατικό του διακομιστή ιστού που αντιστοιχεί τις εισερχόμενες αιτήσεις HTTP με τους αντίστοιχους χειριστές (handlers) βάσει των διαδρομών URL και των μεθόδων.

Ο δρομολογητής επιτρέπει τον ορισμό του κώδικα που πρέπει να εκτελεστεί κατά την πρόσβαση σε μια συγκεκριμένη διαδρομή, π.χ., /users ή /products/{id}.

Παράδειγμα χρήσης του δρομολογητή με το δημοφιλές πακέτο 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)
}

Εδώ, ο δρομολογητής r κατευθύνει τα αιτήματα GET στο /hello στην αντίστοιχη λειτουργία χειριστή.

Στο πλαίσιο του Flutter, αν η ερώτηση αφορά τη δρομολόγηση σε μια εφαρμογή, τότε "δρομολογητής" είναι ένας μηχανισμός πλοήγησης μεταξύ οθονών (routes), αλλά στο Go, είναι ακριβώς ένα συστατικό του διακομιστή για την επεξεργασία αιτημάτων HTTP.