INSTALL.md 7.1 KB

安装、依赖与编译运行教程(Windows + VS Code)

1. 需要安装什么

组件 是否必需 作用
Go SDK 必需 提供编译器、标准库、go 命令和测试工具
VS Code 推荐 编辑代码
VS Code Go 扩展(golang.Go) 推荐 代码补全、格式化、测试入口和调试支持
Git 克隆和提交仓库时必需 管理代码版本
gopls 编辑器功能推荐 Go 语言服务,供扩展提供补全、跳转等功能
Delve(dlv) 断点调试时需要 Go 调试器

Go 是编译型语言,安装 Go SDK 即可编译运行,不需要另外安装解释器。编辑器扩展不能代替 SDK。

本项目当前的 go.mod 声明 go 1.27.3,建议安装 Go 1.27.3 或更新稳定版本。这是当前学习环境使用的版本,不表示示例语法只能在该版本使用。

2. 安装 Go SDK

  1. 前往 https://go.dev/dl/ 下载适合 Windows 系统架构的安装包。
  2. 常见 Intel / AMD 64 位电脑选择 windows-amd64.msi;ARM64 设备选择对应架构。
  3. 按向导安装,记录安装位置。
  4. 彻底退出并重新打开 VS Code、PowerShell。已运行的程序可能还保留旧 PATH。
  5. 在新的终端检查:

    go version
    go env GOROOT GOPATH
    

如果提示找不到 go:

  • 检查 SDK 安装目录下是否存在 bin\go.exe。
  • 将这个 bin 目录加入 Windows 的 Path 环境变量,然后重新打开终端。
  • 本次机器上检测到的位置是 D:\Work_software\Go_sdk\bin;其他机器请使用实际安装路径,不要直接照搬。
  • 可先用完整路径验证(路径含空格时也使用 &):

    & 'D:\Work_software\Go_sdk\bin\go.exe' version
    

通常无需手动配置 GOROOT 或 GOPATH。GOROOT 是 SDK 目录,GOPATH 默认用于工具安装、模块缓存等用途,不要求把本项目放进 GOPATH。

3. 安装 VS Code 和 Go 扩展工具

  1. 从 https://code.visualstudio.com/ 安装 VS Code。
  2. 扩展面板(Ctrl + Shift + X)搜索 golang.Go,安装由 Go Team at Google 发布的 Go 扩展。
  3. 使用“打开文件夹”打开本项目根目录。
  4. 打开 main.go,根据提示安装所需工具;或按 Ctrl + Shift + P,执行 Go: Install/Update Tools。
  5. 安装 gopls;需要 F5 断点调试时再安装 dlv。

也可手动安装这些开发工具(需要网络,不属于项目运行依赖):

go install golang.org/x/tools/gopls@latest
go install github.com/go-delve/delve/cmd/dlv@latest

工具通常安装在 GOPATH\bin,设置了 GOBIN 时以 GOBIN 为准。可执行 go env GOPATH GOBIN 查看。希望在终端直接执行 gopls / dlv 时,把工具安装目录加入 PATH。

@latest 会随上游更新变化,并可能要求更新的 Go 版本。优先使用扩展推荐版本;若有版本兼容报错,按工具官方说明升级 SDK 或安装兼容的工具版本。

4. 获取项目与处理依赖

已经打开当前项目

直接在项目根目录打开终端即可。仓库已有 go.mod,不要重复执行 go mod init。

在新电脑克隆

先从 https://git-scm.com/downloads/win 安装 Git,重启终端后执行:

git --version
git clone http://vk-fly.com:10880/ZhuTianShuai/go_learn.git
Set-Location go_learn

如果远程要求认证,请通过本机 Git 凭据管理器或服务端支持的安全方式登录,不要把密码写进远程 URL、代码或文档。该地址使用明文 HTTP,建议服务端启用 HTTPS 或改用 SSH。

本项目的依赖

当前只使用标准库 fmt 和 testing,它们随 SDK 提供,无需 go get 或其他第三方包安装命令。

可以在项目根目录执行:

go mod tidy

该命令根据源码整理依赖。当前没有第三方模块时,没有 go.sum 是正常现象。未来增加外部依赖后,可以用 go mod download 下载已声明的模块依赖。

未来确实需要添加某个第三方库时,再执行 go get 模块路径@版本,并检查、提交依赖声明的变更。go install ...@版本 用于安装命令行工具,不等于为项目添加库依赖。

若依赖下载失败,先检查网络和代理配置:

go env GOPROXY

根据所在网络与组织要求选用可信代理,不要通过关闭校验或使用不可信镜像来绕过问题。本示例运行不需要下载第三方库;如果本地 Go 版本低于模块要求,Go 的自动工具链选择机制仍可能触发工具链下载,因此推荐先安装匹配的 SDK。

5. 运行第一个程序

在项目根目录执行:

go run .

预期输出:

你好,Go!
欢迎开始 Go 语言学习与测试。
2 + 3 = 5

这里的 . 表示当前目录的包。修改代码并保存后,再次运行该命令即可。

也可用 go run main.go 运行当前单文件示例,但后续程序拆分为多个文件时,优先使用 go run .,避免遗漏其他源码文件。

6. 格式化、测试与检查

# 格式化所有包
go fmt ./...

# 运行表驱动单元测试
go test -v ./...

# 查看测试覆盖率
go test -cover ./...

# 静态检查常见问题
go vet ./...

main_test.go 验证了正数、零、负数和正负混合相加。_test.go 文件不会被编译进正常程序。覆盖率可能不到 100%,因为当前只为加法函数写了测试,没有对终端输出入口做测试。

7. 编译为 Windows 可执行文件

在 PowerShell 执行:

# 创建构建输出目录,重复执行也可以
New-Item -ItemType Directory -Force bin | Out-Null

# 编译
go build -o ./bin/hello.exe .

# 启动编译后的程序
.\bin\hello.exe

编译成功时通常没有额外输出。PowerShell 运行当前目录下的程序需要 ./ 或 .\ 前缀,不能只输入 hello.exe。

编译后的程序可以在兼容的 Windows 和 CPU 架构环境运行,一般不需要目标电脑安装 Go SDK。本项目没有 C 语言依赖。bin 已加入 Git 忽略规则,不提交可执行文件。

8. 在 VS Code 中调试

  1. 打开 main.go,在函数内的可执行语句左侧点击,添加断点。
  2. 按 F5,如提示安装 Delve 则按提示安装。
  3. 如需选择调试配置,选择 Go 的当前包(Launch Package)模式。
  4. 用 F10 单步执行,观察变量 a、b 的值。

优先先确认终端 go run . 能正常执行,再排查编辑器调试问题。不需要额外安装 Code Runner 扩展。

9. 日常 Git 提交流程

在仓库初始化和首次推送完成后,日常修改可使用:

git status
git diff
git add README.md INSTALL.md main.go main_test.go go.mod .gitignore
git commit -m "docs: update Go learning notes"
git push

如果提示缺少提交身份,请设置你自己的用户名与邮箱,可只对当前仓库设置:

git config user.name "你的名字"
git config user.email "你的邮箱"

提交前检查暂存内容,确保没有密码、令牌、私钥或其他敏感文件。不要为了覆盖远程历史而随意使用强制推送。