30/08/2018, 23:43

Có gì mới trong phiên bản Go 1.11 của Google

Trong phiên bản Go 1.11 đã có sự góp mặt một cổng thử nghiệm cho WebAssembly binary format . Cổng này được gọi là JS / Wasm. Ngoài các lợi ích về hiệu suất ứng dụng tiềm năng, WebAssembly cung cấp một định dạng nhị phân phục vụ như một mục tiêu biên dịch cho các ngôn ngữ khác, nhờ ...

Trong phiên bản Go 1.11 đã có sự góp mặt một cổng thử nghiệm cho WebAssembly binary format. Cổng này được gọi là JS / Wasm. Ngoài các lợi ích về hiệu suất ứng dụng tiềm năng, WebAssembly cung cấp một định dạng nhị phân phục vụ như một mục tiêu biên dịch cho các ngôn ngữ khác, nhờ đó mà cho phép triển khai trên web cho cả các client và server application

Go 1.11 cũng thêm hỗ trợ sơ bộ cho các module, đó là tập hợp các Go package có liên quan. Các Module thay thế phương thức Gopath để chỉ định source file nào đang được xây dựng. Các build sẽ đáng tin cậy và có thể tái sử dụng nhiều hơn.

Là một phần của module support, lệnh  go get command đã được thêm vào. Để tận dụng các module, những nhà phát triển nên kiểm tra repository của họ có nằm vào một thư mục bên ngoài  GOPATH/src, tạo một go.mod file và chạy các lệnh đi qua file tree đó.

Ngoài ra, các tính năng mới khác cũng có góp mặt trong 1.11 bao gồm:

Package  org/x/tools/go/packages cung cấp một API để định vị và tải các gói mã nguồn. Trong khi chưa được bao gồm trong thư viện chuẩn, nó vẫn là một lựa chọn tuyệt vời để thay thế  go/build package. Package mới cho phép phát triển các công cụ phân tích hoạt động tốt không kém gì các công cụ xây dựng như Buck và Bazel.

 runtime/trace của package user annotation API cho phép ghi lại thông tin của các ứng dụng và tạo các nhóm có liên quan tới goroutine.  go tool trace command sẽ hiển thị thông tin này trong trace view cũng như là trang user task/region analysis mới.

Phiên bản 1.11 là bản phát hành cuối cùng để hỗ trợ môi trường thiết lập cho variable  GOCACHE=off để vô hiệu hóa build cache. Với Go 1.12, bộ nhớ build cache sẽ được yêu cầu như một bước để loại bỏ $GOPATH/pkg.

Với debugging, trình biên dịch giờ đây tạo ra thông tin gỡ lỗi chính xác hơn cho các tệp nhị phân được tối ưu hóa, bao gồm thông tin vị trí variable và breakpoint.

 go vet command bây giờ sẽ báo cáo một lỗi nghiêm trọng khi một package được phân tích nhưng lại không có type-check.

 Thay đổi nhỏ đối với thư viện bao gồm việc loại bỏ các hỗ trợ nền tảng cũ hơn.

Để sử dụng được Go 1.11, bạn sẽ cần phiên bản từ MacOS 10.10 Yosemite trở lên, Windows 7 trở lên hoặc OpenBSD 6.2 trở lên.

Techtalk via infoworld

0