go get 快速入门(自用笔记)

总结

场景 Go 命令
新项目初始化 go mod init
安装依赖 go get
安装指定版本 go get xxx@vX
删除依赖 删 import + go mod tidy
老项目拉依赖 go mod tidy
只下载不编译 go mod download
查看依赖 go list -m all
清理依赖 go mod tidy
升级依赖 go get -u

一、初始化项目(= npm init)

  • 依赖官方文档索引:不是仓库,是"索引 + 文档站",自动收录所有 Go Module,方便 go get 使用

    总结:其实 Go 没有类似 npm 的插件仓库,是因为 GoGit 当成了插件仓库。

  • ✅ 新项目初始化

    csharp 复制代码
    go mod init myapp

    生成:

    go 复制代码
    go.mod

    必须在 项目根目录 执行

  • 对照

    语言 命令
    npm npm init
    pip pip init / poetry init
    Go go mod init

二、添加依赖(= npm install / pip install)

  • ✅ 推荐方式(最常用)

    arduino 复制代码
    import "github.com/gin-gonic/gin"
    go 复制代码
    go run main.go

    👉 Go 自动下载并写入 go.mod


  • ✅ 手动添加(指定包)

    arduino 复制代码
    go get github.com/gin-gonic/gin
  • ✅ 指定版本

    kotlin 复制代码
    go get github.com/gin-gonic/gin@v1.10.0
  • ✅ 升级到最新版本

    kotlin 复制代码
    go get github.com/gin-gonic/gin@latest

三、移除依赖(= npm uninstall)

  • ⚠️ Go 没有 go uninstall

  • 正确做法(两步)

  • 1️⃣ 删除 import

    arduino 复制代码
    // 删掉
    import "github.com/gin-gonic/gin"
  • 2️⃣ 清理无用依赖

    go 复制代码
    go mod tidy
  • 👉 Go 会:

    • 删除未使用依赖
    • 更新 go.mod
    • 清理 go.sum
  • 对照

    npm Go
    npm uninstall lodash 删除 import + go mod tidy

四、同步 / 拉起老项目(= npm install)

  • ✅ 克隆老项目后

    bash 复制代码
    git clone xxx
    cd project
  • 直接下载依赖

    go 复制代码
    go mod download

    或直接:

    arduino 复制代码
    go run .

    👉 自动按 go.mod 下载全部依赖

  • 🔥 推荐指令(最稳)

    go 复制代码
    go mod tidy

    它会:

    • 下载缺失依赖
    • 移除多余依赖
    • 保证 go.mod / go.sum 干净
  • 对照

    npm Go
    npm install go mod tidy

五、查看 / 管理依赖(实用)

  • 查看当前依赖

    css 复制代码
    go list -m all
  • 查看依赖树

    go 复制代码
    go mod graph
  • 为什么引入了这个包

    matlab 复制代码
    go mod why github.com/gin-gonic/gin

六、升级 / 降级 / 锁版本(进阶)

  • 升级全部依赖

    arduino 复制代码
    go get -u ./...
  • 只升级直接依赖

    arduino 复制代码
    go get -u
  • 降级到指定版本

    kotlin 复制代码
    go get github.com/gin-gonic/gin@v1.9.0
相关推荐
啊汉16 小时前
古文观芷App搜索方案深度解析:打造极致性能的古文搜索引擎
go·软件随想
asaotomo1 天前
一款 AI 驱动的新一代安全运维代理 —— DeepSentry(深哨)
运维·人工智能·安全·ai·go
码界奇点2 天前
基于Gin与GORM的若依后台管理系统设计与实现
论文阅读·go·毕业设计·gin·源代码管理
迷迭香与樱花2 天前
Gin 框架
go·gin
只是懒得想了2 天前
用Go通道实现并发安全队列:从基础到最佳实践
开发语言·数据库·golang·go·并发安全
fenglllle3 天前
使用fyne做一个桌面ipv4网段计算程序
开发语言·go
码界奇点4 天前
基于Wails框架的Ollama模型桌面管理系统设计与实现
go·毕业设计·llama·源代码管理
csdn_aspnet5 天前
Go语言常用算法深度解析:并发与性能的优雅实践
后端·golang·go
吴老弟i6 天前
Go 多版本管理实战指南
golang·go
Grassto6 天前
HTTP请求超时?大数据量下的网关超时问题处理方案,流式处理,附go语言实现
后端·http·golang·go