Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Nhìn vào nhiều công cụ hạ tầng và đám mây phổ biến, bạn sẽ thấy một điểm chung: chúng được viết bằng Go. Đây không phải ngẫu nhiên. Go được thiết kế để viết dịch vụ mạng đơn giản, nhanh và dễ triển khai. Bài này giải thích những lý do đó và khi nào Go là lựa chọn tốt cho bạn.
Go (hay Golang) là ngôn ngữ biên dịch, có kiểu tĩnh, do một nhóm kỹ sư tại Google phát triển và công bố mã nguồn mở. Mục tiêu là cú pháp gọn, biên dịch nhanh, chạy hiệu quả và hỗ trợ lập trình đồng thời một cách tự nhiên. Ngôn ngữ cố tình giữ ít tính năng để code của mọi người nhìn giống nhau và dễ đọc.
package main
import (
"encoding/json"
"net/http"
)
func main() {
http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json; charset=utf-8")
json.NewEncoder(w).Encode(map[string]string{"message": "Xin chào từ Go"})
})
http.ListenAndServe(":8080", nil)
}
Chương trình này chỉ dùng thư viện chuẩn và đã là một API chạy được.
Goroutine là luồng nhẹ do Go quản lý, bạn có thể chạy rất nhiều cùng lúc. Channel là ống để các goroutine trao đổi dữ liệu an toàn. Ví dụ gọi nhiều tác vụ song song rồi gom kết quả:
package main
import (
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
ketQua := make(chan int, 3)
for i := 1; i <= 3; i++ {
wg.Add(1)
go func(n int) {
defer wg.Done()
ketQua <- n * n
}(i)
}
wg.Wait()
close(ketQua)
for v := range ketQua {
fmt.Println(v)
}
}
error thay cho ngoại lệ, nên bạn viết nhiều đoạn kiểm tra lỗi.Bạn có thể đi theo tài liệu chính thức "A Tour of Go" rồi tự viết một API nhỏ có kết nối cơ sở dữ liệu, kèm kiểm thử. Nếu đã biết một ngôn ngữ khác, bạn thường nắm cú pháp Go trong vài ngày, phần cần thời gian là tư duy đồng thời và cách tổ chức gói.
Trong nhiều bài toán thì có, nhất là khi cần hiệu năng và triển khai đơn giản. Tuy vậy với dự án web thông thường, tốc độ phát triển và hệ sinh thái của framework quen thuộc vẫn rất đáng giá.
Cú pháp khá nhỏ nên nhiều người viết được chương trình đơn giản sau vài ngày, còn thành thạo đồng thời và thiết kế gói cần vài tháng thực hành.
Go phổ biến trong hạ tầng vì nó đơn giản, nhanh và dễ triển khai. Nếu bạn quan tâm backend hiệu năng tốt hoặc DevOps, Go là kỹ năng đáng bổ sung và cũng là cách học tốt về lập trình đồng thời.
Để học backend bài bản với nhiều ngôn ngữ và công nghệ, mời bạn xem các khóa học tại codebem.com.
Nguyễn Đình Cường
0 comment