การเปิดตัว Go 1.20
(go.dev)- เปิดตัวหลังจาก 1.19 ผ่านไป 6 เดือน ด้วยนโยบายความเข้ากันได้ย้อนหลัง จึงไม่มีปัญหาในการคอมไพล์/รันโปรแกรมเดิม
- มีการเปลี่ยนแปลง 4 อย่างในภาษา
- สามารถแปลง
sliceเป็นarrayได้ - เพิ่มฟังก์ชัน
SliceData,String,StringDataในแพ็กเกจunsafe - กำหนดให้ค่า field ของ struct ถูกเปรียบเทียบทีละตัวตามลำดับที่ปรากฏในนิยาม และหยุดเมื่อพบความไม่ตรงกันครั้งแรก เช่นเดียวกัน ค่า array ก็จะถูกเปรียบเทียบทีละตัวตามลำดับ index
- type ที่เป็น
Comparableสามารถผ่านเงื่อนไขcomparableได้ แม้ type argument จะไม่ได้เป็น strictly comparable
- สามารถแปลง
- ปรับปรุงโครงสร้างข้อมูลของ GC ทำให้ memory overhead ลดลง และประสิทธิภาพ CPU โดยรวมดีขึ้นสูงสุด 2%
- นอกจากนี้ยังมีการปรับปรุงในส่วนของ toolchain, runtime และการอิมพลีเมนต์ไลบรารี
2 ความคิดเห็น
GC จัดการหน่วยความจำด้วย arena เลยทำให้ประสิทธิภาพดีขึ้น... เขาว่ากันแบบนั้นครับ ส่วน Dart ก็เหมือนกัน...
เจเนอริกจะสมบูรณ์เมื่อไหร่กันนะ…