LOWNLAB News
โปรแกรมมิ่งระดับ 8/10InfoWorld · 27 สิงหาคม 2026

Go 1.27 รองรับ generic methods พร้อมลดต้นทุนการจอง memory ก้อนเล็กได้ถึง 30%

Go 1.27 brings support for generic methods

Go 1.27 ออกเมื่อวันที่ 19 สิงหาคม 2026 และ InfoWorld สรุปรายละเอียดเมื่อวันที่ 27 สิงหาคม โดยฟีเจอร์ที่ถูกพูดถึงมากที่สุดคือการรองรับ generic methods กล่าวคือการประกาศเมธอดสามารถระบุ type parameter ของตัวเองได้แล้ว ซึ่งเป็นข้อจำกัดที่ค้างมาตั้งแต่ Go เพิ่ม generics ในเวอร์ชัน 1.18 และเปิดทางให้เขียนโค้ดแบบ generic ที่ยืดหยุ่นกว่าเดิมมาก

ด้านภาษายังมีการปรับ struct literal ให้คีย์สามารถเป็น field selector ที่ถูกต้องใด ๆ ของ struct นั้น ทำให้กำหนดค่าให้ฟิลด์ที่ซ้อนอยู่ภายในหรือ embedded struct ได้โดยตรง และปรับปรุง type inference ให้ generic function ใช้งานได้โดยไม่ต้องระบุ type argument อย่างชัดเจนในกรณี composite literal, type conversion และการทำงานกับ channel

ฝั่ง toolchain มีของใหม่หลายอย่าง go fix เพิ่ม modernizer ใหม่สี่ตัวคือ atomictypes, embedlit, slicesbackward และ unsafefuncs ส่วน go doc รองรับการสอบถามแบบ package@version เช่น go doc example.com/pkg@v1.2.3 และ go mod tidy จะรวม require block หลายก้อนให้เป็นโครงสร้าง direct/indirect มาตรฐานโดยอัตโนมัติ

ด้านประสิทธิภาพ Go 1.27 เพิ่มการจัดสรรหน่วยความจำแบบ size-specialized ซึ่งลดต้นทุนการจองอ็อบเจ็กต์ขนาดเล็กได้สูงสุด 30% และให้ผลรวมเร็วขึ้นราว 1% สำหรับแอปพลิเคชันที่จัดสรรหน่วยความจำหนัก นอกจากนี้ยังเพิ่มโปรไฟล์ใหม่ชื่อ goroutineleak ใน runtime/pprof สำหรับตรวจจับ goroutine ที่ถูกบล็อกถาวรโดยอัตโนมัติ ซึ่งเป็นบั๊กประเภทที่หายากแต่แก้ยากที่สุดประเภทหนึ่งในระบบ Go ที่รันยาว

แหล่งอ้างอิง

อ่านต้นฉบับที่ InfoWorld

https://www.infoworld.com/article/4214999/go-1-27-brings-support-for-generic-methods.html