Phần 1: Khám phá golang - Bước đầu tiên
Giới thiệu
Sự ra đời
Có một truyền thuyết về sự ra đời của Golang. Ngôn ngữ này được sinh ra trong một văn phòng của Google, nguyên nhân đằng sau sự ra đời của Golang là để giảm thiểu thời gian xây dựng các ứng dụng và làm cho cuộc sống của các nhà phát triển dễ dàng hơn. Golang được thiết kế một ngôn ngữ dễ học và dễ debug, và tạo ra phần mềm có khả năng mở rộng trên nền tảng phần cứng.
Đặc điểm
-
Là một ngôn ngữ biên dịch: Golang là một ngôn ngữ lập trình biên dịch, điều này có nghĩa là mã nguồn của bạn sẽ được dịch sang mã máy trước khi thực thi. Quá trình biên dịch giúp tối ưu hóa hiệu suất của chương trình và cho phép bạn chạy ứng dụng trên nhiều nền tảng khác nhau mà không cần phải biên dịch lại mã nguồn.
-
Cú pháp dễ hiểu, dễ học. Golang được thiết kế với cú pháp đơn giản và rõ ràng, làm cho nó trở thành một ngôn ngữ dễ học và dễ hiểu cho người mới bắt đầu. Cú pháp gọn nhẹ giúp giảm thiểu sự phức tạp trong việc viết mã và làm cho mã nguồn trở nên dễ đọc hơn.
-
Được định kiểu tĩnh (Statically typed) Trong Golang, các biến và kiểu dữ liệu được xác định tại thời điểm biên dịch và không thay đổi trong quá trình thực thi. Điều này giúp phát hiện lỗi sớm hơn và tăng tính ổn định của chương trình, bằng cách loại bỏ một số loại lỗi phổ biến gặp phải trong các ngôn ngữ động kiểu như PHP, Python hoặc JavaScript.
-
Rất mạnh trong việc hỗ trợ concurrency Golang được thiết kế với các tính năng mạnh mẽ để hỗ trợ concurrency, cho phép bạn viết các chương trình đa luồng một cách dễ dàng và an toàn. Goroutines và channels là hai công cụ quan trọng trong Golang để xử lý concurrency một cách hiệu quả và tránh các vấn đề như deadlock và race conditions.
-
Có bộ thu gom rác (Garbage collector) Golang đi kèm với một garbage collector tích hợp sẵn, giúp tự động quản lý việc giải phóng bộ nhớ không sử dụng. Điều này giúp giảm bớt gánh nặng của nhà phát triển trong việc quản lý bộ nhớ, tránh các vấn đề như rò rỉ bộ nhớ và tăng tính ổn định của ứng dụng. Garbage collector cũng giúp làm cho việc lập trình trở nên dễ dàng hơn bằng cách loại bỏ nhu cầu phải quản lý bộ nhớ thủ công.
Cài đặt
Cài đặt golang compiler
Do Go là một ngôn ngữ biên dịch nên việc cài đặt compiler cho nó là một điều bắt buộc. Go hỗ trợ cả 3 nền tảng chính (Windows, Linux, Mac). Để cài đặt bàn cần truy cập vào đây và chọn gói cài đặt tương thích với hệ điều hành của máy tính của bạn. Bạn có thể chọn latest version vì có thể có nhiều thay đổi và cải tiến hơn các version cũ.
Sau đây mình sẽ hướng dẫn cài đặt trên Linux (Ubuntu):
-
Installing: Đầu tiên, cd về home:
cd ~
Download Go (ở đây mình download version 1.22.2 đang là latest)
curl -OL https://golang.org/dl/go1.22.2.darwin-amd64.tar.gz
Chạy lệnh:
sudo tar -C /usr/local -xvf go1.22.2.darwin-amd64.tar.gz
-
Setting Go Path Chạy lệnh:
sudo nano ~/.profile
Thêm thông tin sau vào cuối file:
export PATH=$PATH:/usr/local/go/bin
Ấn Ctrl+X, sau đó ấn Y và Enter để lưu file thay đổi.
Chạy lệnh sau để refresh profile:
source ~/.profile
-
Testing Chạy lệnh sau để kiểm tra version:
go version
Nếu output hiển thị version của go thì xin chúc mừng, bạn đã cài đặt thành công.
Cài đặt IDE
Có rất nhiều IDE hỗ trợ làm việc với Go như Visual Studio Code, Sublime Text, Vim, Goland,... Các bạn có thể tùy chọn IDE phù hợp với cấu hình máy và nhu cầu của bản thân. Bản thân mình thích sử dụng Goland vì nó đã được cài cắm hết các plugin của Golang nên dùng thật sự rất sướng nhưng cũng phải đánh đổi lại là nó khá nặng và là một IDE mất phí. Visual Studio Code cũng là môt lựa chọn ngon - bổ - free cho anh em vì mình thấy đa số đồng nghiệp trong công ty đều chiến ngon Golang với IDE quốc dân này.
Hello world
Sau khi đã biết được sơ lược về anh chàng Go này cũng như đã cài cắm xong, mời bạn warm-up với một chiếc Hello World kinh điển. Đầu tiên, bạn tạo file có tên hello_world.go:
// File: hello_world.go
package main
import "fmt"
func main() {
fmt.Println(":
`
`")
}
Bạn dùng command sau để chạy chương trình:
go run hello_world.go
Output sẽ là :
Hello, World!
Vậy là chương trình Golang đầu tiên của bạn đã hoàn thành.
Kết bài
Vậy là trong bài đầu tiên này mình đã giới hiệu với các bạn những kiến thức cơ bản nhất của ngôn ngữ con cưng của Google, hi vọng những kiến thức này sẽ là những viên gạch đầu tiên trong hành trình chinh phục Golang của các bạn. Hẹn gặp lại các bạn ở những bài viết tiếp theo trong series Golang Essentials: Nền Tảng và Kiến Thức Cơ Bản. See ya!
Tham khảo: https://www.digitalocean.com/community/tutorials/how-to-install-go-on-ubuntu-20-04 https://www.practical-go-lessons.com/
All rights reserved