Google đã phát hành bản xem trước của phiên bản mới của ngôn ngữ lập trình Go. Phiên bản 1.18 bổ sung thêm chức năng cho lập trình 'chung chung' với các kiểu được gọi là 'được tham số hóa'.
Nói cách riêng của họ, đó là sự thay đổi quan trọng nhất và lớn nhất đối với ngôn ngữ lập trình kể từ khi phát hành phiên bản Go 1. Ý tưởng đằng sau generics là giờ đây nó cho phép chức năng đại diện cho các hàm và cấu trúc dữ liệu bằng cách sửa đổi các kiểu. Điều này loại trừ 'tính tổng quát' được phép bằng cách xác định kiểu giao diện như một cách trừu tượng hóa dữ liệu thực tế được đưa đến một hàm.
Google chỉ ra rằng các nhà phát triển cờ vây nên nhận ra rằng chức năng này chắc chắn sẽ dẫn đến các lỗi mới. Do đó, họ nên tiếp cận các 'generic' này một cách thận trọng.
Chức năng khác trong Go 1.18 Beta
Ngoài chức năng trên, bản xem trước mới cũng có hỗ trợ tích hợp để viết các bài kiểm tra dựa trên fuzzing. Các bài kiểm tra này có thể tự động tìm các đầu vào khiến chương trình gặp sự cố hoặc trả về các câu trả lời không hợp lệ. Go 1.18 Beta cũng cung cấp 'Chế độ không gian làm việc Go' mới. Điều này cho phép các lập trình viên làm việc với nhiều mô-đun Go đồng thời. Điều này đặc biệt hữu ích cho các dự án lớn, theo Google.
Hơn nữa, phiên bản 1.18 Beta bổ sung thêm chức năng với lệnh go phiên bản mở rộng -m. Lệnh này bây giờ lưu trữ các chi tiết dưới dạng cờ của trình biên dịch. Một chương trình hiện có thể truy vấn chi tiết bản dựng của chính nó bằng lệnh debug.ReadBuildInfo.
Ngoài ra, nhiều quy ước gọi dựa trên đăng ký, có sẵn kể từ Go 1.17, đã được thêm vào bản xem trước. Ở phiên bản trước, chức năng này chỉ thích hợp để tăng tốc mã Go trên các hệ thống x86 và x64, thì giờ đây nó cũng phù hợp với các hệ thống dựa trên ARM64 và PPC64. Điều này sẽ cung cấp tốc độ cao hơn tới 20 phần trăm.