展开本页目录
开始前准备什么
- 下载本题完整练习包,区分待实现 starter 与作者完成 reference。
- 按README准备本题原生依赖;所有输入均为原创或明确标注的本地fixture。
- 本地练习不需要付费模型Key;真实模型调用未执行,MiniLM题另有明确实际推理说明。
- 准备Go源码
- 确认平台矩阵
- 交叉编译
- 检查文件头
- 拒绝错误输入
- 运行本机产物
- 生成校验清单
原创输入、待完成starter、作者reference及实际运行产物,依README本地准备依赖。
环境要求、具体操作、产物核对与未运行范围。
1. 准备Go源码
输入为原创 Go 字符与行数统计 CLI,包含中文和英文两行文本。下载源码、go.mod、input.txt,保持 UTF8 字节,不用文件名猜字符数。
2. 确认平台矩阵
明确三个目标为 darwin/arm64、linux/amd64、windows/amd64,并关闭 CGO。本题使用已安装 Go 原生工具链,不需要 Claude Code 才能构建作者参考。
本地启动与复现
cd reference
python3 verify.py3. 交叉编译
分别设置 GOOS、GOARCH 后 go build -trimpath,将每个目标写到独立文件。不要反复覆盖同一个文件却只改下载名称。
4. 检查文件头
读取实际文件头:Mac产物为Mach-O、Linux为ELF、Windows为PE。结合构建目标与完整SHA256记录实际字节,发布前核对产物集合。
5. 拒绝错误输入
在本机不传输入参数时运行 CLI,必须返回退出码2并给出用法。不存在的输入文件也应报错,不要把空输出当作成功统计。
6. 运行本机产物
仅执行当前Mac ARM64产物,核对中文字符数、UTF8字节数、单词与换行数。Linux与Windows版本只完成编译和文件头检查,没有在对应系统执行。
7. 生成校验清单
运行 verify.py 可重新编译并生成清单。源码和构建流程适合交给 Claude Code 扩展;本文没有运行该账号生成会话,跨平台运行兼容性仍需目标系统验收。
怎样确认已经完成
- 三个产物分别为目标Mach-O/ELF/PE架构并记录SHA。
- Mac ARM64实际统计匹配输入,缺参数返回退出码2。
- Linux/Windows只标构建核对,未执行结果保持未测。
常见问题
AI写完的小工具怎么给Windows和Mac用户都能用?
保留同一源码,按GOOS/GOARCH分别编译,并检查各自格式与校验值。本文三平台构建成功,只运行了本机Mac ARM64。
文件名写着arm64,怎么确认下载到的真是这个架构?
对照实际文件格式和构建清单,不信文件名。本题检查Mach-O/ELF/PE文件头并记录完整SHA,目标平台执行仍需另验。
哪些部分实际运行,哪些需要独立验证?
Go原生交叉编译三平台并检查文件头与SHA;仅Mac ARM64产物在本机执行,Linux/Windows未运行。 目标AI助手账号生成、云平台部署和生产环境不在本次执行范围。




