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
相关推荐
程序员爱钓鱼14 小时前
Go PDF处理利器: github.com/pdfcpu/pdfcpu 深度指南
后端·面试·go
江湖十年14 小时前
使用 testing/synctest 测试并发代码
后端·面试·go
比特森林探险记2 天前
Go 语言依赖注入和java 区别
go
不会聊天真君6472 天前
基础语法·上(golang笔记第一期)
go
冒充野生程序猿2 天前
04. 并发基础:goroutine、channel、context
go
冒充野生程序猿2 天前
01. 变量、类型与控制流
go
程序员爱钓鱼2 天前
Go并发同步核心库:syn 包深度指南
后端·面试·go
ithadoop3 天前
go面试知识点分类整理
golang·go
葡萄城技术团队3 天前
Go 后端开发必知的 10 条最佳实践
go
ReSearch3 天前
工业物联网的“瘦身”革命:Go 实现 20MB 级边缘存储,基于 LSM-Tree 的深度定制实践
数据库·go