ภาษาโปรแกรม Go (Golang) ของ Google ได้เปิดตัวเวอร์ชันล่าสุด Go 1.19 ซึ่งปรับปรุงการรองรับทั่วไป แนะนำรุ่นหน่วยความจำที่ได้รับการปรับปรุง และนำเสนอคุณสมบัติอื่นๆ ที่หลากหลาย การอัปเดตนี้มุ่งเน้นที่การปรับแต่งชื่อสามัญที่เพิ่มเข้ามาล่าสุด ซึ่งเปิดตัวครั้งแรกใน Go 1.18 และเพิ่มประสิทธิภาพของโค้ดทั่วไปสูงสุด 20 เปอร์เซ็นต์
การปรับปรุงใน Go 1.19
ด้วยการเปิดตัว Go 1.19 ในวันที่ 2 สิงหาคม การพัฒนาการสนับสนุนทั่วไปมุ่งเน้นไปที่การจัดการปัญหาที่ละเอียดอ่อนและกรณีมุมที่รายงานโดยชุมชน พร้อมกับการปรับปรุงประสิทธิภาพ การแนะนำชื่อสามัญให้กับภาษานี้เป็นคุณสมบัติที่รอคอยมานานซึ่งเพิ่มเข้ามาใน Go 1.18 ซึ่งเปิดตัวในเดือนมีนาคม
โมเดลหน่วยความจำ Go ได้รับการอัปเดตเพื่อกำหนดลักษณะการทำงานของแพ็กเกจซิงค์/อะตอมมิกอย่างชัดเจน โดยจัดเตรียมหน่วยความจำอะตอมมิกระดับต่ำสำหรับการใช้งานอัลกอริธึมการซิงโครไนซ์ คำจำกัดความที่เป็นทางการของ ความสัมพันธ์ที่จะเกิดขึ้นก่อน ได้รับการปรับปรุงใหม่เพื่อให้สอดคล้องกับโมเดลหน่วยความจำที่ใช้โดย C, C++, Java, JavaScript, Rust และ Swift การอัปเดตนี้ไม่ส่งผลกระทบต่อโปรแกรมที่มีอยู่
ในฐานะที่เป็นส่วนหนึ่งของการอัปเกรดโมเดลหน่วยความจำ ได้มีการแนะนำประเภทใหม่ๆ ในแพ็กเกจ sync/atomic ซึ่งรวมถึง atomic.int64 และ atomic.Pointer(T) ทำให้สะดวกยิ่งขึ้นในการใช้ค่าอะตอม Go 1.19 พร้อมให้ดาวน์โหลดแล้วจาก go.dev สำหรับ Windows, macOS และ Linux
คุณสมบัติเพิ่มเติมใน Go 1.19
นอกจากการปรับปรุงข้อมูลทั่วไปและหน่วยความจำรุ่นใหม่แล้ว Go 1.19 ยังได้แนะนำคุณสมบัติอื่นๆ:
- ขีดจำกัดของหน่วยความจำแบบซอฟต์ถูกเพิ่มไปยังตัวรวบรวมขยะ ซึ่งช่วยเพิ่มประสิทธิภาพโปรแกรม Go ที่ทำงานในคอนเทนเนอร์ด้วยการจัดสรรหน่วยความจำเฉพาะ
- การปรับปรุงประสิทธิภาพและการใช้งาน เช่น การปรับขนาดแบบไดนามิกของสแต็ก coroutine เพื่อลดการคัดลอกสแต็ก การใช้ตัวอธิบายไฟล์เพิ่มเติมโดยอัตโนมัติบนระบบ Unix ส่วนใหญ่ การข้ามตารางสำหรับคำสั่งสวิตช์ขนาดใหญ่บน x86-64 และ ARM64 และการรองรับการเรียกใช้ฟังก์ชันดีบักเกอร์ ARM64.
- การแก้ไขเล็กน้อยในการพิมพ์พารามิเตอร์ในการประกาศเมธอดโดยไม่ส่งผลกระทบต่อโปรแกรมที่มีอยู่
- ขณะนี้ความคิดเห็นของเอกสารรองรับลิงก์ รายการ และไวยากรณ์ของหัวข้อ ทำให้องค์ประกอบความคิดเห็นของเอกสารชัดเจนขึ้น โดยเฉพาะอย่างยิ่งสำหรับแพ็คเกจที่มี API มากมาย
- เพื่อความปลอดภัย แพ็คเกจ os/exec ไม่อนุญาตให้ใช้พาธสัมพัทธ์ในการค้นหา PATH อีกต่อไป
- มีการแนะนำข้อจำกัดการสร้างใหม่ ยูนิกซ์ ซึ่งจะพอใจเมื่อระบบปฏิบัติการเป้าหมายทำงานบนระบบที่คล้ายยูนิกซ์
เนื่องจากการยอมรับของแพลตฟอร์ม no-code และ low-code เช่น AppMaster increases, it is essential for developers to stay up to date with the latest advancements in popular programming languages like Go. The integration of Go with AppMaster can speed up backend applications' development, offering enhanced scalability and cost-effectiveness. Go 1.19 brings substantial improvements to boost performance, security, and developer experience, strengthening its position as a vital tool for modern software development.