Skip to content

练习 — Go 环境

对应知识点:Go 环境 对应文档:docs/phase-01-fundamentals/go-environment.md 代码目录:workspace/phase-01/


Level 1 — 基础

练习 1.1 · 验证安装

在终端执行以下命令,将输出结果记录到文本文件 workspace/phase-01/hello/env-check.txt

bash
go version
go env GOROOT GOPATH GOOS GOARCH

要求

  • 确认 go version 能正常输出版本号
  • 理解 GOROOT、GOPATH、GOOS、GOARCH 各自的值

练习 1.2 · 运行 Hello World

进入 workspace/phase-01/hello/,运行:

bash
go run main.go

要求

  • 确认输出包含 Hello, Go!
  • 如果报错,根据错误信息排查(PATH、目录、文件名)

练习 1.3 · 修改输出

修改 workspace/phase-01/hello/main.go,让程序打印:

Hello, Go!
Author: <你的名字>
Date: 2026-08-31

要求

  • 使用 fmt.Println 输出
  • 修改后重新 go run main.go 验证

练习 1.4 · 识别程序结构

阅读 workspace/phase-01/hello/main.go,不运行代码,回答:

  1. 这个文件属于哪个 package?
  2. 程序入口是哪个函数?
  3. 使用了哪个标准库?作用是什么?

将答案写在代码注释中或单独的笔记里。


Level 2 — 应用

练习 2.1 · go run vs go build

workspace/phase-01/hello/ 目录下:

  1. 执行 go build -o hello.exe main.go
  2. 运行 ./hello.exe
  3. 对比 go run main.gogo build + 运行 exe 的区别

要求

  • 列出两种方式的 3 个区别(产物、速度、使用场景等)
  • 删除生成的 hello.exe(可选)

练习 2.2 · 环境变量探索

运行 go env,找到以下变量并解释含义:

变量你的值含义(自己填写)
GOVERSION
GOMODCACHE
GOOS
GOARCH

练习 2.3 · 多文件同包

workspace/phase-01/hello/ 下新建 version.go

要求

  • version.go 属于 package main不要func main()
  • 定义函数 getVersion(),返回字符串 "go1.26.5"
  • main.go 中调用 getVersion() 并打印
  • go run . 能正常运行

Level 3 — 综合

练习 3.1 · 系统信息程序

新建 workspace/phase-01/greet/main.go,程序启动后打印:

Go environment ready.
OS: windows
Arch: amd64

要求

  • 使用 runtime.GOOSruntime.GOARCH 获取系统信息(不要硬编码)
  • import "runtime""fmt"
  • go run . 可正常运行

Level 4 — 项目实践

练习 4.1 · 开发环境检查工具

新建 workspace/phase-01/dev-check/main.go,编写「开发环境检查」程序。

启动后依次打印

  1. Go 版本 — 使用 runtime.Version()
  2. 操作系统 — 使用 runtime.GOOS
  3. CPU 架构 — 使用 runtime.GOARCH
  4. 当前工作目录 — 使用 os.Getwd()(需 import "os",注意处理 error)
  5. 最后一行固定输出:Environment OK, ready to code.

要求

  • 每个检查项有清晰的标签,如 Go Version: go1.26.5
  • go run . 可正常运行
  • 不要硬编码版本号和路径

学习检查

完成 Level 1 后,确认能回答:

  • [ ] GOROOT 和 GOPATH 分别是什么?
  • [ ] go rungo build 有什么区别?
  • [ ] 可运行的 Go 程序最少需要什么?
  • [ ] Go 编译产物与 Node.js 部署有何不同?

提交方式

完成后说:

检查答案 — Go 环境练习 X.X

并附上你的代码或终端输出。


学习导航

对应知识文档 · 下一篇:go mod