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
相关推荐
源代码•宸2 天前
Leetcode—1929. 数组串联&&Q1. 数组串联【简单】
经验分享·后端·算法·leetcode·go
nil2 天前
记录protoc生成代码将optional改成omitepty问题
后端·go·protobuf
Way2top2 天前
Go语言动手写Web框架 - Gee第五天 中间件
后端·go
Way2top2 天前
Go语言动手写Web框架 - Gee第四天 分组控制
后端·go
Grassto2 天前
从 `go build` 开始:Go 第三方包加载流程源码导读
golang·go·go module
源代码•宸3 天前
Golang基础语法(go语言结构体、go语言数组与切片、go语言条件句、go语言循环)
开发语言·经验分享·后端·算法·golang·go
華勳全栈4 天前
两天开发完成智能体平台
java·spring·go
stark张宇5 天前
Go语言核心三剑客:数组、切片与结构体使用指南
后端·go
Aevget5 天前
智能高效Go开发工具GoLand v2025.3全新上线——新增资源泄漏分析
开发语言·ide·后端·golang·go
wwz165 天前
Dagor —— 一个高性能 DAG 算子执行框架,开箱即用!
go