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
相关推荐
名字还没想好☜4 小时前
Go 的 unsafe.Pointer 实战:零拷贝 []byte↔string 转换与三条铁律
开发语言·后端·golang·go·unsafe
阿里云云原生6 小时前
阿里云联合 Datadog,补齐 Go 可观测性最后短板
云原生·go
可观测性用观测云6 小时前
零码改造!Go 语言应用上报观测云完整最佳实践
go
斐波那契数列8 小时前
参考react 实现一个golang gui
go
程序员爱钓鱼15 小时前
Go 运算符详解
后端·面试·go
angryshan1 天前
goLang配置断点流程
go·bug
名字还没想好☜1 天前
Go 的 sync.Cond 实战:用条件变量做等待/通知,比忙轮询省 CPU
开发语言·数据库·后端·golang·go
程序员爱钓鱼2 天前
Go 输入输出详解
后端·面试·go
朦胧之2 天前
Go 项目设计
go
名字还没想好☜2 天前
Go 的 io.Reader/Writer 组合实战:io.Copy、TeeReader、MultiWriter 优雅处理数据流
开发语言·后端·golang·go·iphone