⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Go 包管理与模块

go mod init/tidy/get、导入路径、版本管理 · 难度:进阶 · +20XP

Go Modules — 依赖管理

Go 1.11+ 使用 Go Modules 管理项目依赖。每个项目根目录有 go.mod 文件记录依赖。

初始化项目

go mod init github.com/username/project  # 创建 go.mod
go mod tidy    # 自动添加缺失依赖,删除无用依赖
go get github.com/gin-gonic/gin         # 安装包
go get github.com/gin-gonic/gin@v1.9.0  # 指定版本
go mod vendor  # 将依赖复制到 vendor/ 目录

go.mod 文件结构

module github.com/username/myapp

go 1.21

require ( github.com/gin-gonic/gin v1.9.0 github.com/go-sql-driver/mysql v1.7.0 )

require github.com/google/uuid v1.3.0 // indirect(间接依赖)

版本规则

格式含义
v1.2.3精确版本
^1.2.3兼容版本(>=1.2.3 且 <2.0.0)
~1.2.3补丁版本(>=1.2.3 且 <1.3.0)
latest最新版本

导入路径规则

import "fmt"                          // 标准库
import "github.com/gin-gonic/gin"      // 第三方包
import "myapp/internal/config"         // 项目内包(module path + 相对路径)

动手试试

  1. 理解 go.mod 中 require 和 indirect 的区别
  2. go.sum 记录的是依赖的校验和,用于安全验证
  3. vendor 目录是可选的,主要用于离线构建和 CI
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 142 篇
0 完成
🔥 0