← Danh sách bài học
Bài 14/20
📦 Bài 14: Go Modules
🎯 Mục tiêu:
- Hiểu Go Modules là gì
- Khởi tạo project với go mod init
- Cài đặt dependencies với go get
- Hiểu go.mod và go.sum
1. Go Modules Là Gì?
Go Modules là hệ thống quản lý dependencies chính thức của Go từ version 1.11+. Giống npm cho Node.js hay pip cho Python.
2. Khởi Tạo Module
# Tạo thư mục project
mkdir my-app
cd my-app
# Khởi tạo module
go mod init github.com/username/my-app
# Hoặc đơn giản
go mod init my-app
Lệnh này tạo file go.mod:
module my-app
go 1.21
3. Cài Đặt Dependencies
# Cài package từ GitHub
go get github.com/gin-gonic/gin
# Cài version cụ thể
go get github.com/gin-gonic/gin@v1.9.0
# Cài version mới nhất
go get github.com/gin-gonic/gin@latest
# Xóa dependencies không dùng
go mod tidy
4. File go.mod và go.sum
// go.mod - khai báo dependencies
module my-app
go 1.21
require (
github.com/gin-gonic/gin v1.9.0
github.com/lib/pq v1.10.9
)
// go.sum - checksums để verify
github.com/gin-gonic/gin v1.9.0 h1:abc123...
github.com/gin-gonic/gin v1.9.0/go.mod h1:def456...
💡 Tip: Commit cả go.mod và go.sum vào git!
5. Các Lệnh Hữu Ích
# Tải dependencies
go mod download
# Dọn dẹp dependencies không dùng
go mod tidy
# Xem cây dependencies
go mod graph
# Kiểm tra dependencies
go mod verify
# Cập nhật tất cả
go get -u ./...
6. Ví Dụ Sử Dụng Package
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello World!",
})
})
r.Run(":8080")
}
📝 Tóm Tắt
go mod init- tạo module mớigo get pkg- cài dependencygo mod tidy- dọn dẹpgo.mod- danh sách dependenciesgo.sum- checksums verify