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

97 阅读2分钟

总结

场景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 当成了插件仓库。

  • ✅ 新项目初始化

    go mod init myapp
    

    生成:

    go.mod
    

    必须在 项目根目录 执行

  • 对照

    语言命令
    npmnpm init
    pippip init / poetry init
    Gogo mod init

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

  • ✅ 推荐方式(最常用)

    import "github.com/gin-gonic/gin"
    
    go run main.go
    

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


  • ✅ 手动添加(指定包)

    go get github.com/gin-gonic/gin
    
  • ✅ 指定版本

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

    go get github.com/gin-gonic/gin@latest
    

三、移除依赖(= npm uninstall)

  • ⚠️ Go 没有 go uninstall

  • 正确做法(两步)

  • 1️⃣ 删除 import

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

    go mod tidy
    
  • 👉 Go 会:

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

    npmGo
    npm uninstall lodash删除 import + go mod tidy

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

  • ✅ 克隆老项目后

    git clone xxx
    cd project
    
  • 直接下载依赖

    go mod download
    

    或直接:

    go run .
    

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

  • 🔥 推荐指令(最稳)

    go mod tidy
    

    它会:

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

    npmGo
    npm installgo mod tidy

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

  • 查看当前依赖

    go list -m all
    
  • 查看依赖树

    go mod graph
    
  • 为什么引入了这个包

    go mod why github.com/gin-gonic/gin
    

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

  • 升级全部依赖

    go get -u ./...
    
  • 只升级直接依赖

    go get -u
    
  • 降级到指定版本

    go get github.com/gin-gonic/gin@v1.9.0