Series Go Backend: Cài đặt môi trường, Workspace và "Hello World"
Chào mừng bạn đến với bài học đầu tiên trong chuỗi Series Go Backend. Trong bài này, chúng ta sẽ đi từ những bước cơ bản nhất: thiết lập môi trường phát triển, hiểu cách Go quản lý dự án (Workspace/Modules) và viết dòng code đầu tiên.
Với tính chất là một ngôn ngữ biên dịch (compiled language), Go mang lại tốc độ thực thi đáng nể, đồng thời file thực thi (binary) cuối cùng có thể chạy độc lập mà không cần cài đặt runtime trên server.
1. Cài đặt môi trường Go
Bước 1: Tải bộ cài đặt Truy cập trang chủ go.dev/dl và tải phiên bản phù hợp với hệ điều hành của bạn (Windows, macOS, hoặc Linux).
Bước 2: Kiểm tra cài đặt Sau khi cài đặt xong, hãy mở Terminal (hoặc Command Prompt/PowerShell) và gõ lệnh sau để xác nhận Go đã được cài đặt thành công:
Bash
go version
Kết quả trả về sẽ tương tự như: go version go1.22.x linux/amd64

2. Hiểu về Workspace và Go Modules
Trước phiên bản Go 1.11, mọi dự án Go đều phải nằm trong một thư mục đặc biệt gọi là GOPATH. Điều này gây ra khá nhiều bất tiện trong việc quản lý source code và phiên bản thư viện.
Hiện nay, Go sử dụng Go Modules. Bạn có thể tạo dự án ở bất kỳ thư mục nào trên máy tính. Go Modules đóng vai trò trình quản lý dependency (tương tự như npm trong Node.js hay composer trong PHP).
3. Khởi tạo dự án đầu tiên
Hãy tạo một thư mục mới cho dự án của bạn và di chuyển vào đó:
Bash
mkdir go-hello-world
cd go-hello-world
Tiếp theo, khởi tạo Go module bằng lệnh:
Bash
go mod init github.com/hieudev/go-hello-world
Lưu ý: Tham số phía sau init là tên module. Theo quy ước chuẩn trong cộng đồng Go, tên module thường là URL của repository chứa source code (ví dụ: [github.com/your-username/project-name](https://github.com/your-username/project-name)).
Lúc này, bạn sẽ thấy một file go.mod được tạo ra. File này sẽ lưu trữ thông tin về phiên bản Go đang dùng và danh sách các thư viện bên ngoài (dependencies) mà dự án sẽ sử dụng sau này.
4. Viết chương trình "Hello World"
Tạo một file mới tên là main.go ở thư mục gốc của dự án và thêm đoạn code sau:
Go
package main
import "fmt"
func main() {
fmt.Println("Hello World! Chào mừng đến với Series Go Backend.")
}
Giải thích một chút về cú pháp:
-
package main: Mọi file Go đều phải thuộc về một package.mainlà một package đặc biệt. Khi trình biên dịch thấypackage main, nó hiểu rằng đây là một chương trình có thể thực thi được (executable) chứ không phải là một thư viện (library). -
import "fmt": Import thư viện chuẩnfmt(format) của Go, chuyên dùng để định dạng văn bản và in ra console. -
func main(): Hàmmainlà điểm bắt đầu (entry point) của mọi chương trình Go thực thi.
5. Chạy và Build chương trình
Go cung cấp các công cụ CLI cực kỳ mạnh mẽ. Để chạy code, bạn có hai cách chính:
Cách 1: Chạy trực tiếp (dùng trong quá trình dev) Lệnh này sẽ biên dịch code vào một thư mục tạm và chạy nó ngay lập tức.
Bash
go run main.go
Cách 2: Build ra file thực thi (dùng khi deploy) Lệnh này sẽ biên dịch source code của bạn thành một file binary (file .exe trên Windows hoặc file thực thi trên Linux/macOS).
Bash
go build
Sau khi chạy lệnh trên, bạn sẽ thấy một file binary xuất hiện trong thư mục (có tên giống với thư mục dự án hoặc tên module). Bạn có thể chạy trực tiếp file này:
Bash
# Trên Linux/macOS
./go-hello-world
# Trên Windows
go-hello-world.exe
Điểm ăn tiền của Go: File binary này chứa toàn bộ code của bạn và các dependencies cần thiết (statically linked). Bạn có thể vứt file này lên server Linux (nếu build cho Linux) và chạy ngay lập tức mà không cần cài đặt thêm bất kỳ phần mềm hay runtime nào (như Node, PHP hay Python).
All rights reserved