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