- บทความเกี่ยวกับการปรับปรุงความสามารถในการจับคู่แพตเทิร์นของ HTTP serving multiplexer พื้นฐานในแพ็กเกจ
net/http ของ Go 1.22
- เดิมที multiplexer (
http.ServeMux) มีการจับคู่เส้นทางพื้นฐาน ทำให้ต้องใช้ไลบรารี 3rd party เมื่อต้องการความสามารถขั้นสูง
- multiplexer ใหม่ของ Go 1.22 มอบการจับคู่ขั้นสูง ช่วยลดช่องว่างเมื่อเทียบกับแพ็กเกจ 3rd party
- multiplexer (
mux) ใหม่นี้สามารถระบุ HTTP method อย่างชัดเจนเป็นส่วนหนึ่งของแพตเทิร์น และรองรับการจับคู่แบบ wildcard ในองค์ประกอบของเส้นทาง
- ในบทความมีตัวอย่างการใช้งาน mux ใหม่ รวมถึงการจัดการความขัดแย้งที่อาจเกิดขึ้นระหว่างแพตเทิร์นต่าง ๆ
- เอกสารของ
ServeMux ใหม่อธิบายกฎลำดับความสำคัญของแพตเทิร์นและความขัดแย้งที่อาจเกิดขึ้น
- บทความยังกลับไปทบทวนตัวอย่างจากซีรีส์ REST server ใน Go และเปรียบเทียบว่า mux ใหม่ใน stdlib มีลักษณะอย่างไรเมื่อเทียบกับ
gorilla/mux
- mux ใหม่ของ Go 1.22 ทำให้สามารถทำ routing ที่ซับซ้อนขึ้นได้ และลดความจำเป็นในการตัดสินใจ routing ภายใน handler
- ผู้เขียนเชื่อว่าความสามารถที่ดีขึ้นใน Go 1.22 จะเปลี่ยนคำตอบทั่วไปของคำถามว่า "ควรใช้แพ็กเกจ router ตัวไหนดี?" โดยหลายคนน่าจะมองว่า mux ใหม่ใน stdlib เพียงพอกับความต้องการของตน
- อย่างไรก็ตาม โปรแกรมเมอร์ Go บางส่วนอาจยังคงชอบแพ็กเกจ 3rd party หรือเฟรมเวิร์กขนาดเบาอย่าง Gin ซึ่งมีทั้ง router และเครื่องมือเพิ่มเติมสำหรับสร้างเว็บแบ็กเอนด์
- โดยรวมแล้ว ผู้เขียนมองว่าความสามารถที่ดีขึ้นใน Go 1.22 เป็นการเปลี่ยนแปลงเชิงบวกสำหรับผู้ใช้ Go ทุกคน ทำให้ไลบรารีมาตรฐานมีความสามารถมากขึ้นและเป็นประโยชน์ต่อชุมชนโดยรวม
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News