Ngôn ngữ lập trình Go (Golang) của Google đã phát hành phiên bản mới nhất, Go 1.19, cải thiện khả năng hỗ trợ chung, giới thiệu mô hình bộ nhớ nâng cao và cung cấp nhiều tính năng khác. Bản cập nhật này tập trung vào việc tinh chỉnh mã chung được thêm gần đây, lần đầu tiên được giới thiệu trong Go 1.18 và tối ưu hóa hiệu suất của mã chung lên tới 20 phần trăm.
Những cải tiến trong Go 1.19
Với việc phát hành Go 1.19 vào ngày 2 tháng 8, quá trình phát triển hỗ trợ thuốc generic tập trung vào việc giải quyết các vấn đề tế nhị và các trường hợp góc khuất do cộng đồng báo cáo, cùng với các cải tiến về hiệu suất. Việc giới thiệu thuốc generic cho ngôn ngữ này là một tính năng đã được chờ đợi từ lâu được thêm vào Go 1.18, được phát hành vào tháng 3.
Mô hình bộ nhớ Go đã được cập nhật để xác định rõ ràng hành vi của gói đồng bộ hóa/nguyên tử, cung cấp các nguyên hàm bộ nhớ nguyên tử cấp thấp để thực hiện các thuật toán đồng bộ hóa. Định nghĩa chính thức của mối quan hệ xảy ra trước đó đã được sửa đổi để phù hợp với các mô hình bộ nhớ được sử dụng bởi C, C++, Java, JavaScript, Rust và Swift. Bản cập nhật này không ảnh hưởng đến các chương trình hiện có.
Là một phần của quá trình nâng cấp mô hình bộ nhớ, các loại mới đã được giới thiệu trong gói đồng bộ hóa/nguyên tử, bao gồm nguyên tử.int64 và nguyên tử.Pulum(T), giúp sử dụng các giá trị nguyên tử thuận tiện hơn. Go 1.19 hiện có sẵn để tải xuống từ go.dev cho Windows, macOS và Linux.
Các tính năng bổ sung trong Go 1.19
Bên cạnh những cải tiến đối với thuốc generic và mô hình bộ nhớ mới, Go 1.19 đã giới thiệu các tính năng khác:
- Giới hạn bộ nhớ mềm được thêm vào trình thu gom rác, giúp tối ưu hóa các chương trình Go chạy trong vùng chứa có cấp phát bộ nhớ chuyên dụng.
- Các cải tiến về hiệu suất và triển khai, chẳng hạn như định cỡ động của các ngăn xếp coroutine để giảm sao chép ngăn xếp, tự động sử dụng các bộ mô tả tệp bổ sung trên hầu hết các hệ thống Unix, nhảy bảng cho các câu lệnh chuyển đổi lớn trên x86-64 và ARM64, đồng thời hỗ trợ các lệnh gọi hàm được đưa vào trình gỡ lỗi. CÁNH TAY64.
- Một chỉnh sửa nhỏ được thực hiện để nhập tham số trong khai báo phương thức mà không ảnh hưởng đến các chương trình hiện có.
- Nhận xét tài liệu hiện hỗ trợ liên kết, danh sách và cú pháp tiêu đề, giúp bố cục nhận xét tài liệu rõ ràng hơn, đặc biệt đối với các gói có API mở rộng.
- Vì mục đích bảo mật, gói os/exec không còn cho phép các đường dẫn tương đối trong tra cứu PATH.
- Một ràng buộc xây dựng mới, unix, được giới thiệu, thỏa mãn khi HĐH được nhắm mục tiêu hoạt động trên bất kỳ hệ thống giống Unix nào.
Khi việc áp dụng các nền tảng no-code và low-code như 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.