Nenhuma descrição

zhuts 9f7453cbb6 feat: 新增第五课数组与切片例程及学习说明 4 dias atrás
lessons 9f7453cbb6 feat: 新增第五课数组与切片例程及学习说明 4 dias atrás
.gitignore 7332d3021e feat: initialize Go learning project with tutorial and tests 4 dias atrás
INSTALL.md 197dbff561 refactor: organize numbered lessons and document Go entry point 4 dias atrás
README.md 9f7453cbb6 feat: 新增第五课数组与切片例程及学习说明 4 dias atrás
go.mod 7332d3021e feat: initialize Go learning project with tutorial and tests 4 dias atrás

README.md

Go 语言分级学习与测试

按编号逐级学习,每个例程独占一个文件夹,代码、测试和该例程说明放在一起,不与其他例程混放。

项目结构

.
├── 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         # 带逐节注释的参考代码

根目录不放例程代码。各课共享根目录的 go.mod,不需要逐课初始化模块,也不需要 go.work。当前模块路径 example.com/go-study 是学习用标识,不必与 Git 地址相同。

学习目录

级别 例程 内容 状态
01 第一个 Go 程序 输出、变量、函数、首次测试 已建立
02 变量、常量与基础类型 声明、赋值、零值、类型转换 已建立
03 if 条件判断 条件分支、比较、逻辑运算 已建立
04 for 循环 三段式、条件循环、break、continue、range 已建立
05 数组与切片 索引、遍历、append、截取、make、copy 已建立

后续按编号逐步新增独立目录。不一次性铺开后续课程,也不把新例程写进旧例程的入口文件。

快速开始

在项目根目录执行:

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 工具安装、依赖管理、编译、测试和调试步骤。

参考资料

Git 仓库

远程地址:http://vk-fly.com:10880/ZhuTianShuai/go_learn.git

请勿提交密码、访问令牌或个人环境配置。当前 HTTP 地址没有 HTTPS 传输加密;如服务端支持,建议改用 HTTPS 或 SSH。