+5

Golang cơ bản (Phần 1: Giới thiệu và cài đặt)

Golang là gì?

Go hay còn gọi là Golang là ngôn ngữ lập trình mã nguồn mở (open source), được thiết kế tại Google bởi Robert Griesemer, Rob Pike, and Ken Thompson.

Go có cú pháp khá giống với C và tất nhiên nó là ngôn ngữ lập trình biên dịch (compiled programming language), khá tinh gọn, mặc dù thật sự có những cú pháp mà người mới nhìn vào thật sự hơi khó chịu.

Tại sao chúng ta nên học Golang?

Tại sao bạn lại phải dùng đến Golang trong khi rất nhiều các ngôn ngữ lập trình phía server khác như Python, Ruby, NodeJS... cũng có thể làm được những điều tương tự? Đây là 1 vài lý do:

  • Concurrency là một phần có sẵn của ngôn ngữ lập trình này, do đó viết một chương trình multithread sẽ giống như một miếng bánh gato. Nó được lưu trữ bởi goroutines và channels các khải niệm này chúng ta sẽ tìm hiểu ở các bài viết sau nhé.
  • Golang là một ngôn ngữ biên dịch, mã nguồn sẽ được biên dịch sang mã nhị phân (binary), đây là phần còn thiếu trong Javascript - NodeJs.
  • Bộ biên dịch của Go hỗ trợ liên kết tĩnh (static linking), tất cả code có thể được kết nối tĩnh thông qua một đoạn mã nhị phân và có thể triển khai trên server đám mây dễ dàng mà không cần lo lắng đến các dependency.
  • Go nhỏ gọn và đơn giản để học, dễ làm việc và dễ dàng đọc bởi các nhà phát triển khác.

Cài đặt

Golang hỗ trợ cả ba nền tảng Mac, Windows, Linux. Bạn có thể tải bộ cài đặt tương ứng tại đây

Ở đây chúng ta cùng cài đặt trên Ubuntu nhé.

Bước 1: Cài đặt go

Khi viết bài này, bản phát hành mới nhất là go1.20.3. Mình sẽ sử dụng curl để tải tệp này về bằng command sau:

$ curl -OL https://golang.org/dl/go1.20.3.linux-amd64.tar.gz

Để xác minh tính toàn vẹn của tệp bạn đã tải xuống, hãy chạy sha256sum lệnh và chuyển nó tới tên tệp dưới dạng đối số:

$ sha256sum go1.20.3.linux-amd64.tar.gz

Output sẽ như sau:

979694c2c25c735755bf26f4f45e19e64e4811d661dd07b8c010f7a8e18adfca go1.20.3.linux-amd64.tar.gz

Nếu kết quả khớp với SHA256 Checksum được liệt kê trên trang cài đặt phía trên thì bạn đã thực hiện đúng bước này.

Tiếp theo chúng ta giải nén file đó bằng tar nhé, ở đây mình dùng thư mục /usr/local/ là vị trí được đề xuất khi cài đặt go. Các bạn chạy command sau:

$ sudo tar -C /usr/local -xvf go1.20.3.linux-amd64.tar.gz

Tùy theo nhu cầu cá nhân có thể sử dụng các thư mục khác nhé.

Bước 2: Cài đặt Go Paths

Bước này khá là đơn giản khi bạn chỉ cần làm theo 1 vài bước sau:

$ sudo nano ~/.profile

Thêm dòng này vào file:

export PATH=$PATH:/usr/local/go/bin

Sau khi save thì hãy làm mới file đó nhé:

$ source ~/.profile

Sau khi đã hoàn thành, cùng kiểm tra thành quả đạt được nhé:

$ go version
go version go1.20.3 linux/amd64

Bước 3: Kiểm tra cài đặt của bạn

Giờ đây, Go đã được cài đặt và các đường dẫn được đặt cho máy chủ của bạn, bạn có thể thử tạo Hello World! ứng dụng của mình để đảm bảo rằng Go đang hoạt động.

Bắt đầu bằng việc tạo 1 thư mục nhé:

$ mkdir test

$ cd test

Để quản lý các modules trong Go một cách tiện lợi và dễ dàng hơn. Bạn có thể làm điều này bằng cách tạo file go.mod bằng command:

$ go mod init hello

Tạo file go để thực hiện Hello World!:

$ nano hello.go

package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}

Sau khi lưu file, để kiểm tra xem có hoạt động hay không, bạn hãy chạy bằng command:

$ go run hello.go

Nếu Output đúng như các bạn mong muốn thì chúc mừng bạn đã cài đặt và kiểm tra thành công.

Lệnh này go run thường được sử dụng làm phím tắt để biên dịch và chạy chương trình yêu cầu thay đổi thường xuyên. Trường hợp bạn đã hoàn thành code của mình và muốn chạy mã đó mà không cần biên dịch mã mỗi lần, bạn có thể sử dụng go build để biến mã của mình thành tệp nhị phân có thể thực thi được.

$ go build

$ ./hello

Output
Hello World!

Tổng kết

Bằng cách tải xuống và cài đặt gói Go mới nhất và thiết lập đường dẫn cho gói đó, giờ đây bạn đã có một hệ thống để sử dụng cho việc phát triển Go. Ở phần tiếp theo mình sẽ giới thiệu về các thành phần cơ bản trong Go Lang và nhớ theo dõi mình nhé. Cảm ơn các bạn rất nhiều ❤️ .


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí