|
|
4 hari lalu | |
|---|---|---|
| lessons | 4 hari lalu | |
| .gitignore | 4 hari lalu | |
| INSTALL.md | 4 hari lalu | |
| README.md | 4 hari lalu | |
| go.mod | 4 hari lalu |
按编号逐级学习,每个例程独占一个文件夹,代码、测试和该例程说明放在一起,不与其他例程混放。
.
├── README.md # 学习目录与公共命令
├── INSTALL.md # 环境、依赖、编译运行教程
├── go.mod # 所有例程共用的模块配置
├── .gitignore
└── lessons/
├── 01_hello/ # 第 01 课:第一个 Go 程序
│ ├── README.md # 本课目标、运行方法与练习
│ ├── main.go # 本课独立入口
│ └── main_test.go # 本课测试
├── 02_variables/ # 第 02 课:变量、常量与基础类型
│ ├── README.md # 知识点、预期输出与手敲练习
│ └── main.go # 带逐节注释的参考代码
├── 03_conditions/ # 第 03 课:if 条件判断
│ ├── README.md # 语法、编译运行与边界练习
│ └── main.go # 分支、比较和逻辑运算
├── 04_loops/ # 第 04 课:for 循环
│ ├── README.md # 循环语法、编译运行与练习
│ └── main.go # 累加、跳过、退出和字符串遍历
├── 05_arrays_slices/ # 第 05 课:数组与切片
│ ├── README.md # 固定长度、追加、共享和复制
│ └── main.go # 带逐节注释的参考代码
├── 06_maps/ # 第 06 课:map 键值对
│ ├── README.md # 增删改查、遍历、nil 与共享
│ └── main.go # 按姓名查询成绩的参考代码
├── 07_functions/ # 第 07 课:函数
│ ├── README.md # 参数、返回值、值传递和练习
│ ├── main.go # 普通函数、多返回值、可变参数
│ └── main_test.go # 本课函数测试
└── 08_structs/ # 第 08 课:结构体
├── README.md # 定义、字段、复制和结构体切片
└── main.go # 学生记录与简化测试数据表
根目录不放例程代码。各课共享根目录的 go.mod,不需要逐课初始化模块,也不需要 go.work。当前模块路径 example.com/go-study 是学习用标识,不必与 Git 地址相同。
| 级别 | 例程 | 内容 | 状态 |
|---|---|---|---|
| 01 | 第一个 Go 程序 | 输出、变量、函数、首次测试 | 已建立 |
| 02 | 变量、常量与基础类型 | 声明、赋值、零值、类型转换 | 已建立 |
| 03 | if 条件判断 | 条件分支、比较、逻辑运算 | 已建立 |
| 04 | for 循环 | 三段式、条件循环、break、continue、range | 已建立 |
| 05 | 数组与切片 | 索引、遍历、append、截取、make、copy | 已建立 |
| 06 | map 键值对 | 增删改查、存在性判断、遍历、nil | 已建立 |
| 07 | 函数 | 参数、返回值、值传递、多返回值、可变参数 | 已建立 |
| 08 | 结构体 | 定义、字段访问、零值、复制、结构体切片 | 已建立 |
后续按编号逐步新增独立目录。不一次性铺开后续课程,也不把新例程写进旧例程的入口文件。
在项目根目录执行:
go version
go run ./lessons/01_hello
预期输出:
你好,Go!
欢迎开始 Go 语言学习与测试。
2 + 3 = 5
也可以进入本课目录运行:
Set-Location lessons/01_hello
go run .
go test -v .
根目录没有 Go 程序入口,不要在根目录使用
go run .。进入具体例程目录后才使用该命令。
以下命令均在项目根目录执行:
# 只运行第 01 课
go run ./lessons/01_hello
# 只测试第 01 课
go test -v ./lessons/01_hello
# 格式化、测试、检查所有课程
go fmt ./...
go test -v ./...
go vet ./...
# 编译第 01 课到对应的构建目录
New-Item -ItemType Directory -Force bin/01_hello | Out-Null
go build -o ./bin/01_hello/hello.exe ./lessons/01_hello
.\bin\01_hello\hello.exe
每个例程独立编译运行,不要使用 go run ./... 尝试一次启动所有课程。构建产物统一放入已忽略的 bin/课程编号/ 目录。
当前仅使用 Go 标准库,不需要第三方运行依赖。详见 安装与运行教程,包含 SDK、VS Code 工具安装、依赖管理、编译、测试和调试步骤。
远程地址:http://vk-fly.com:10880/ZhuTianShuai/go_learn.git
请勿提交密码、访问令牌或个人环境配置。当前 HTTP 地址没有 HTTPS 传输加密;如服务端支持,建议改用 HTTPS 或 SSH。