Google đã phát hành phiên bản mới của ngôn ngữ lập trình Go với phiên bản v1.20 ngày nay có một số bổ sung đáng chú ý cũng như loại bỏ hỗ trợ cho các phiên bản cũ hơn của Microsoft Windows và Apple macOS. Chỉ riêng hai tính năng đã khiến tôi hào hứng với Go 1.20: công việc ban đầu trên các cờ xây dựng tính năng kiến trúc CPU như xử lý cấp tính năng kiến trúc vi mô x86_64 và hỗ trợ ban đầu cho các bản dựng Tối ưu hóa theo hướng dẫn hồ sơ (PGO).
Ngoài một số thay đổi và bổ sung nhỏ đối với ngôn ngữ lập trình Go, một số nền tảng và công cụ khác hoạt động với Go 1.20 bao gồm:
-Go 1.20 là bản phát hành cuối cùng hỗ trợ Microsoft Windows 7/8/Server 200 8/Server 2012. Với Go 1.21, Windows 10 hoặc Windows Server 2016 là cơ sở tối thiểu mới.
-Go 1.20 cũng ngừng hỗ trợ cho các dòng macOS 10.13 và 10.14.
-Hỗ trợ thử nghiệm cho FreeBSD trên RISC-V được giới thiệu.
-Thư mục $GOROOT/pkg không còn lưu trữ kho lưu trữ gói được biên dịch trước cho kho lưu trữ tiêu chuẩn nhằm giảm kích thước của bản phân phối Go.
-Giờ đây, lệnh go xác định các cờ xây dựng tính năng kiến trúc, chẳng hạn như amd64.V2, để cho phép chọn tệp triển khai gói dựa trên sự hiện diện hay vắng mặt của các tính năng kiến trúc CPU cụ thể. Đây là một tin tuyệt vời cho công việc ở mức tính năng kiến trúc vi mô x86_64.
-Lệnh go build và go install và các lệnh khác liên quan đến bản dựng hiện hỗ trợ cờ”-cover”để kích hoạt bản dựng có công cụ đo lường phạm vi mã.
-Giảm chi phí bộ nhớ và cải thiện hiệu suất CPU tới 2% nhờ hoạt động trên trình thu gom rác.
-Hỗ trợ xem trước cho Tối ưu hóa theo hướng dẫn cấu hình (PGO).
-Trên Linux, trình liên kết hiện chọn trình thông dịch động cho glibc hoặc musl tại thời điểm liên kết.
-Gói tiền điện tử/ecdh mới để cung cấp hỗ trợ rõ ràng cho việc trao đổi khóa Elliptic Curve Diffie-Hellman qua các đường cong NIST và Curve25519.
Tải xuống và biết thêm chi tiết về bản phát hành Go 1.20 qua go.dev.