Go – Giới thiệu và cài đặt

Go còn được gọi Golang là một ngôn ngữ lập trình mã nguồn mở, được biên dịch và kiểu tĩnh, được phát triển bởi Google. Những người chủ chốt đứng sau việc tạo Go là Rob PikeKen Thompson và Robert Griesemer. Go được công bố vào tháng 11/2009.

Go là một ngôn ngữ lập trình đa năng với cú pháp đơn giản và được hỗ trợ bởi thư viện chuẩn mạnh mẽ. Một trong những mảng quan trọng mà Go toả sáng là việc tạo ra các ứng dụng web có tính khả dụng cao và có khả năng mở rộng. Go cũng có thể tạo các ứng dụng dòng lệnh (command-line), ứng dụng desktop và thậm trí là các ứng dụng Mobile.

Ưu điểm

Tại sao chúng ta phải chọn Go làm ngôn ngữ lập trình phía Server trong khi có rất nhiều ngôn ngữ lập trình khác như là Python, Ruby, NodeJs… có thể làm công việc tương tự.

Sau đây là một số ưu điểm khi sử dụng Go.

Cú pháp đơn giản

Cú pháp đơn giản và ngắn gọn, ngôn ngữ không bị phình to với các tính năng không cần thiết. Điều này giúp cho việc viết code trở nên dễ dàng hơn, dễ đọc, và dễ bảo trì hơn.

Dễ viết các chương trình chạy đồng thời

Việc xử lý chạy đồng thời là một phần vốn có của ngôn ngữ. Do đó việc viết một chương trình chạy đa luồng tương đối dễ dàng.

Ngôn ngữ được biên dịch

Go là một ngôn ngữ được biên dịch. Mã nguồn được biên dịch thành Binary riêng. Đây là điều còn thiếu trong các ngôn ngữ thông dịch như Javascript được sử dụng trong NodeJs

Biên dịch nhanh

Trình biên dịch Go khá tuyệt vời và nó được thiết kế để nhanh ngay từ khi bắt đầu.

Liên kết tĩnh

Trình biên dịch Go hỗ trợ liên kết tĩnh. Tất cả code Go có thể được liên kết tĩnh thành một Binary lớn và nó có thể triển khai trên Cloud Server dễ dàng mà không cần phải lo lắng về các phụ thuộc.

Các công cụ Go

Các công cụ cũng nên được đề cập trong Go. Go đi kèm với các công cụ mạnh mẽ mà giúp cho lập trình viên viết code tốt hơn. Một số công cụ thường được sử dụng là

  • gofmt – gofmt được sử dụng để tự động định dạng lại mã nguồn của Go. Nó sử dụng tab cho thụt đầu dòng và khoảng trống để căn chỉnh.
  • vet – vet phân tích mã nguồn của Go và báo cáo về các đoạn code khả nghi. Tất cả báo cáo bởi vet không hoàn toàn chính xác các vấn đề nhưng nó có thể bắt các lỗi mà không được thông báo bởi trình biên dịch như là các chỉ định định dạng không chính xác như là khi sử dụng Printf.
  • golint – golint thường được sử dụng để xác định các vấn đề về style trong code.

Dọn dẹp rác

Go sử dụng Garbage Collection để dọn dẹp rác và vì thế việc quản lý bộ nhớ được xử lý tự động và lập trình viên sẽ không cần lo lắng về việc quản lý bộ nhớ. Điều này cũng giúp cho việc viết các chương trình chạy đồng thời dễ dàng hơn.

Đặc tả kỹ thuật ngôn ngữ đơn giản

Các đặt tả kỹ thuật ngôn ngữ rất đơn giản. Tất cả được đặt vừa vặn trong một trang và bạn có thể thậm trí sử dụng nó để viết trình biên dịch cho riêng mình

Mã nguồn mở

Cuối cùng nhưng không kém phần quan trọng, Go là một dự án mã nguồn mở. Bạn có thể tham gia và đóng góp cho dự án Go

Sản phẩm phổ biến được xây dựng dùng Go

Sau đây là một số sản phẩm phổ biến được xây dựng dùng Go

  • Kubernetes được phát triển bởi Google sử dụng Go
  • Docker, một platform nổi tiếng sử dụng Go
  • Dropbox đã chuyển các thành phần quan trọng của nó từ Python sang Go

Cài đặt

Go hỗ trợ cả 3 nền tảng MacOS, Windown và Linux. Bạn có thể tải về cho phù hợp với nền tảng của mình theo link https://golang.org/dl

Mac OS

Tải trình cài đặt cho Mac OS từ https://golang.org/dl/. Click đúp vào trình cài đặt để tiến hành cài đặt, làm theo các bước cài đặt và sau khi kết thúc Go nên được cài đặt trong /usr/local/go  và cũng sẽ có thêm thư mục /usr/local/go/bin cho biến môi trường PATH.

Windows

Tải trình cài đặt MSI từ https://golang.org/dl/. Click đúp vào trình cài đặt để tiến hành cài đặt, làm theo các bước cài đặt. Sau khi kết thúc Go sẽ được cài đặt trong c:\Go  và cũng sẽ có thêm thư mục c:\Go\bin cho biến môi trường.

Linux

Tải file tar từ https://golang.org/dl/ và giải nén nó vào thư mục /usr/local

Thêm /usr/local/go/bin vào biến môi trường PATH. Đây là nơi Go được cài đặt trên Linux.

 

You May Also Like

About the Author: Nguyen Dinh Thuc

Leave a Reply

Your email address will not be published.