Blog Go
Go 1.24 đã được phát hành!
Hôm nay nhóm Go vui mừng phát hành Go 1.24, bạn có thể tải về từ trang download.
Go 1.24 có nhiều cải tiến so với Go 1.23. Dưới đây là một số thay đổi đáng chú ý; để xem danh sách đầy đủ, tham khảo ghi chú phát hành.
Thay đổi ngôn ngữ
Go 1.24 nay hỗ trợ đầy đủ type alias generic: một type alias có thể được tham số hóa như một kiểu được định nghĩa. Xem đặc tả ngôn ngữ để biết chi tiết.
Cải thiện hiệu năng
Một số cải tiến hiệu năng trong runtime đã giảm chi phí CPU
từ 2-3% tính trung bình trên một bộ benchmark đại diện. Các
cải tiến này bao gồm triển khai map built-in mới dựa trên
Swiss Tables, cấp phát bộ nhớ hiệu quả hơn
cho các object nhỏ, và triển khai mutex nội bộ runtime mới.
Cải tiến công cụ
-
Lệnh
gonay cung cấp cơ chế theo dõi dependency tool cho một module. Dùnggo get -toolđể thêm chỉ thịtoolvào module hiện tại. Dùnggo tool [tên tool]để chạy các tool được khai báo với chỉ thịtool. Đọc thêm về lệnh go trong ghi chú phát hành. -
Trình phân tích
testmới trong lệnh congo vetbáo cáo các lỗi phổ biến trong khai báo test, fuzzer, benchmark và example trong các gói kiểm thử. Đọc thêm về vet trong ghi chú phát hành.
Bổ sung thư viện chuẩn
-
Thư viện chuẩn nay bao gồm một tập cơ chế mới để hỗ trợ tuân thủ FIPS 140-3. Các ứng dụng không cần thay đổi mã nguồn để dùng các cơ chế mới cho các thuật toán được chấp thuận. Đọc thêm về tuân thủ FIPS 140-3 trong ghi chú phát hành. Ngoài FIPS 140, một số gói trước đây trong module x/crypto nay có sẵn trong thư viện chuẩn.
-
Benchmark nay có thể dùng phương thức
testing.B.Loopnhanh hơn và ít xảy ra lỗi hơn để thực hiện các lần lặp benchmark nhưfor b.Loop() { ... }thay cho các cấu trúc vòng lặp thông thường liên quan đếnb.Nnhưfor range b.N. Đọc thêm về hàm benchmark mới trong ghi chú phát hành. -
Kiểu
os.Rootmới cung cấp khả năng thực hiện các thao tác filesystem được cô lập trong một thư mục cụ thể. Đọc thêm về truy cập filesystem trong ghi chú phát hành. -
Runtime cung cấp cơ chế finalization mới,
runtime.AddCleanup, linh hoạt hơn, hiệu quả hơn và ít xảy ra lỗi hơn so vớiruntime.SetFinalizer. Đọc thêm về cleanup trong ghi chú phát hành.
Cải thiện hỗ trợ WebAssembly
Go 1.24 thêm chỉ thị go:wasmexport mới cho chương trình Go để export
hàm tới WebAssembly host, và hỗ trợ build một chương trình Go như một WASI
reactor/library.
Đọc thêm về WebAssembly trong ghi chú phát hành.
Hãy đọc ghi chú phát hành Go 1.24 để biết thông tin đầy đủ và chi tiết. Đừng quên theo dõi các bài đăng blog tiếp theo sẽ đi sâu hơn về một số chủ đề được đề cập ở đây!
Cảm ơn tất cả những người đã đóng góp cho bản phát hành này bằng cách viết code và tài liệu, báo cáo lỗi, chia sẻ phản hồi, và kiểm thử các release candidate. Nỗ lực của bạn giúp đảm bảo Go 1.24 ổn định nhất có thể. Như thường lệ, nếu bạn phát hiện bất kỳ vấn đề nào, hãy tạo issue.
Tận hưởng Go 1.24!
Bài tiếp theo: Ứng dụng Wasm mở rộng với Go
Bài trước: Kết Quả Khảo Sát Go Developer Survey 2024 H2
Mục lục blog