Go 1.14 เวอร์ชันใหม่มาแล้วและนี่คือข่าวสาร

Go

GO Team เปิดตัว Go 1.14 ประกาศการเปิดตัวเวอร์ชันใหม่ของภาษาโปรแกรมโอเพนซอร์สที่พัฒนาโดย Google ตามที่สัญญาไว้การเปิดตัวนี้ไม่เกินเดือนกุมภาพันธ์และ Go Team ไม่ได้หยุดขอบคุณทุกคนที่มีน้ำใจในการมีส่วนร่วม ในการออกแบบเวอร์ชันนี้ไม่ว่าจะผ่านความคิดเห็นที่ให้ไว้เพื่อจุดประสงค์นี้และสำหรับผู้ที่เข้าร่วมการทดสอบเบต้าหรือการออกรหัสการรายงานข้อบกพร่องและการส่งความคิดเห็น

จนถึงตอนนี้ GO Team พยายามอย่างยิ่งที่จะรักษาความท้าทายที่เปิดตัวโดย Rob Pikeหนึ่งในสามผู้สร้าง Golang ใคร ฉันต้องการให้ภาษานี้ทำให้การเขียนโปรแกรมขนาดใหญ่ง่ายขึ้นและเร็วขึ้น เนื่องจากไวยากรณ์ของ Go ขึ้นอยู่กับองค์ประกอบที่คุ้นเคยของภาษา C พร้อมด้วยคำยืมแต่ละคำจากภาษา Python ภาษามีความกระชับเพียงพอ แต่รหัสอ่านและเข้าใจง่าย

Go code ถูกรวบรวมเป็นไฟล์ปฏิบัติการไบนารีแยกกัน ที่รันแบบเนทีฟโดยไม่ใช้เครื่องเสมือน (ส่วนกำหนดค่าโมดูลการดีบักและระบบย่อยการแก้ไขปัญหาอื่น ๆ จะรวมอยู่ที่รันไทม์เป็นส่วนประกอบรันไทม์) ซึ่ง ให้ประสิทธิภาพเทียบเท่ากับ C.

โครงการนี้ได้รับการพัฒนาในขั้นต้นโดยคำนึงถึงการเขียนโปรแกรมแบบมัลติเธรดและการทำงานที่มีประสิทธิภาพในระบบมัลติคอร์แม้กระทั่งการจัดหาวิธีการดำเนินการในระดับผู้ปฏิบัติงานเพื่อจัดระเบียบคอมพิวเตอร์แบบขนานและการโต้ตอบระหว่างวิธีการแบบขนาน

ภาษายังมีการป้องกันในตัวจากพื้นที่ล้นบล็อกหน่วยความจำที่จัดสรรและให้ความสามารถในการใช้ตัวรวบรวมขยะ

คุณสมบัติใหม่หลักของ Go 1.14

การเปลี่ยนแปลงที่สำคัญในเวอร์ชันใหม่นี้เกี่ยวข้องกับไฟล์ ระบบโมดูลใหม่ในคำสั่ง go สำหรับการใช้งานอย่างกว้างขวางเปิดใช้งานโดยค่าเริ่มต้นและแนะนำสำหรับการจัดการการพึ่งพาแทน GOPATH

ระบบโมดูลใหม่มีความเข้ากันได้กับเวอร์ชันในตัวเครื่องมือจัดส่งพัสดุและระบบการจัดการการพึ่งพาที่ได้รับการปรับปรุง ด้วยความช่วยเหลือของโมดูล นักพัฒนาไม่จำเป็นต้องทำงานภายในโครงสร้าง GOPATH อีกต่อไป พวกเขาสามารถกำหนดการอ้างอิงตามเวอร์ชันอย่างชัดเจนและสร้างแอสเซมบลีที่ทำซ้ำได้

นอกจากนี้ เธรดจะไม่ต้องแขวนอย่างไม่มีกำหนดอีกต่อไป เช่นเดียวกับกรณีข้างต้นด้วยการวนซ้ำโดยไม่เรียกใช้ฟังก์ชันเนื่องจาก Go Scheduler ทำงานเพื่อตรวจสอบเวลาดำเนินการที่เป็นไปได้ของรูทีนปัจจุบันระหว่างการเรียกใช้ฟังก์ชันก่อนที่จะลบออกจากเธรดเพื่อเปิดพื้นที่และอนุญาตให้ดำเนินการตามรูทีนใหม่ สิ่งนี้จะมีผลกระทบในแง่ของเวลาแฝงที่ต่ำลงใน Go 1.14

การเปลี่ยนแปลงอีกอย่างหนึ่งคือ sเพิ่มการรองรับการฝังอินเทอร์เฟซด้วยชุดวิธีการซ้อนทับ ขณะนี้วิธีการของอินเทอร์เฟซในตัวสามารถมีชื่อเดียวกันและลายเซ็นเดียวกันกับวิธีการในอินเทอร์เฟซที่มีอยู่ วิธีการที่ประกาศอย่างชัดเจนยังคงเป็นเอกลักษณ์เหมือนเดิม

ในทางกลับกัน ประสิทธิภาพของนิพจน์ "defer" เพิ่มขึ้นซึ่งตอนนี้การใช้งานแทบจะไม่แตกต่างกันในด้านความเร็วจากการโทรโดยตรงไปยังฟังก์ชันที่ขี้เกียจทำให้คุณสามารถใช้ฟังก์ชันเริ่มต้นที่ขี้เกียจในโค้ดที่ไวต่อประสิทธิภาพได้

นอกจากนี้ยังมีการกำหนดค่ากำหนดล่วงหน้าแบบอะซิงโครนัส- ลูปที่ไม่มีการเรียกใช้ฟังก์ชันสามารถนำไปสู่การหยุดชะงักของตัวกำหนดตารางเวลาหรือความล่าช้าในการเริ่มการรวบรวมขยะ

ปรับปรุงประสิทธิภาพของระบบการจัดสรรเพจหน่วยความจำแล้วซึ่งตอนนี้มีข้อขัดแย้งในการล็อกน้อยลงอย่างมากในการกำหนดค่าด้วยค่า GOMAXPROCS ขนาดใหญ่

เป็นผลให้ความล่าช้าลดลงและประสิทธิภาพเพิ่มขึ้นด้วยการจัดสรรหน่วยความจำขนาดใหญ่แบบขนานอย่างเข้มข้น

ไม่มีอีกแล้ว คุณสามารถดูรายการคุณลักษณะใหม่ ๆ เหล่านี้ได้อย่างครบถ้วน สำคัญ ในบันทึกประจำรุ่น GO 1.14

นอกจากนี้เวอร์ชันใหม่นี้จะทำงานบน macOS 10.11 El Capitan และจะยังรองรับไบนารี 32 บิตบนแพลตฟอร์มนี้ นี่อาจเป็นเวอร์ชันล่าสุดที่รองรับไบนารี 32 บิตบนแพลตฟอร์มอื่น ๆ เช่น watchOS, iOS, iPadOS และ tvOS


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา