ภาษา Go ออกเวอร์ชัน 1.18 มีการเปลี่ยนแปลงสำคัญคือรองรับ generic แล้ว
generic เป็นแนวคิดของโลกโปรแกรมมิ่ง ที่เขียนฟังก์ชันหรืออัลกอริทึมกลาง เพื่อใช้ได้กับตัวแปรไม่ระบุชนิด (เช่น เขียน reverse sort สำหรับ Int, Float, String ด้วยโค้ดชุดเดียวกัน) ถือเป็นฟีเจอร์พื้นฐานในภาษาโปรแกรมสมัยใหม่ เช่น Java, Python, C#, TypeScript, Rust, Swift
Ian Lance Taylor หนึ่งในทีมพัฒนาภาษา Go บอกว่า generic เป็นฟีเจอร์อย่างแรกที่มีคนขอเข้ามาหลัง Go เปิดตัวต่อโลกครั้งแรกในปี 2009 ภายใน 24 ชั่วโมง แนวคิดเรื่องการเพิ่ม generic ถูกนำเสนอเมื่อปี 2019 และพัฒนาจนเสร็จสิ้นใน Go 1.18 ผู้สนใจสามารถดาวน์โหลด Go 1.18 แล้วลองเขียนตาม tutorial กันได้
ของใหม่อย่างอื่นใน Go 1.18 คือเพิ่มเครื่องมือ fuzzing เข้าเป็นส่วนหนึ่งของ toolchain เพื่อให้ลองอินพุตรูปแบบสุ่ม ทดสอบช่องโหว่หรือการแครชได้ง่ายขึ้น, workspace mode สำหรับทำงานแบบ multi-module, ปรับปรุงประสิทธิภาพบนสถาปัตยกรรม M1, ARM64, PowerPC อีก 20%
ที่มา - Go Blog
Comments
กำลังศึกษาเลยครับ ยังงงๆ นิดหน่อย
ถ้าใส่ export keyword มาให้ด้วยจะดีมาก
แบบว่าจะเปลี่ยนใจ export function นี้ต้องมา rename ทั้ง package
ก็เขียน public function ไปเรียกตัว private ก็ได้มั้งครับ?
?
ง่ายๆ แต่ดันนึกไม่ออก
แต่เดี๋ยวคนอื่นมาดูจะสงสัยว่าทำไมไม่ใช้ตัว public ไปเลยหรือเปล่า