Sobes.tech
Junior — Middle

Мо метавонед шарҳ диҳед, ки маршрутизатор дар забони Go чист ва чӣ гуна истифода мешавад?

sobes.tech AI

Ҷавоб аз AI

ในภาษา Go คำว่า "router" มักจะหมายถึงส่วนประกอบของเซิร์ฟเวอร์เว็บที่รับผิดชอบในการแมปคำขอ HTTP ที่เข้ามากับตัวจัดการ (handlers) ที่เหมาะสมตามเส้นทาง URL และวิธีการ

Router ช่วยให้สามารถกำหนดโค้ดที่จะทำงานเมื่อเข้าถึงเส้นทางเฉพาะ เช่น /users หรือ /products/{id}

ตัวอย่างการใช้งาน router กับแพ็คเกจยอดนิยม 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)
}

ที่นี่, router r จะนำทางคำขอ GET ไปยัง /hello ไปยังฟังก์ชัน handler ที่เกี่ยวข้อง

ในบริบทของ Flutter, หากคำถามเกี่ยวกับการกำหนดเส้นทางในแอปพลิเคชัน, "router" คือกลไกการนำทางระหว่างหน้าจอ (routes), แต่ใน Go นั้นเป็นส่วนประกอบของเซิร์ฟเวอร์สำหรับจัดการคำขอ HTTP