← Danh sách bài học Bài 14/20

📦 Bài 14: Go Modules

⏱️ 20 phút | 📚 Trung bình

🎯 Mục tiêu:

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