Hello 算法 Go 代码如何用 go test 运行算法练习并查看测试输出?

发布时间:2026/10/25 20:16:25

Hello 算法 Go 代码如何用 go test 运行算法练习并查看测试输出? Hello 算法 Go 代码如何用 go test 运行算法练习并查看测试输出【免费下载链接】hello-algo《Hello 算法》动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語提供 Python, Java, C, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 等代码实现项目地址: https://gitcode.com/GitHub_Trending/he/hello-algo在 Hello 算法仓库中算法练习的 Go 实现集中在codes/go目录每一章都是一个独立的 Go 包算法源码如quick_sort.go与配套测试文件如quick_sort_test.go放在同一个目录下。这套测试文件遵循 Go 标准testing包的写法因此不需要任何第三方测试框架直接用 Go 工具链自带的go test命令就能运行并通过标准输出查看排序结果等运行信息。本文说明如何装好 Go 环境、进入模块目录运行测试以及如何读懂go test的输出。准备条件安装 Go 环境按照仓库附录中的编程环境安装文档「Go 环境」一节操作下载并安装 Go 工具链安装文档给出了官方下载地址在 VS Code 插件市场安装 Go 扩展按Ctrl Shift P呼出命令栏执行Go: Install/Update Tools并全部勾选安装。安装完成后注意仓库对 Go 版本有明确声明。codes/go/go.mod 的内容为module github.com/krahets/hello-algo go 1.19这说明整个 Go 代码目录是一个模块名称为github.com/krahets/hello-algo且声明要求 Go 1.19。你本机安装的 Go 版本需要满足这个要求否则go test可能直接报错。认识 codes/go 的目录结构与测试文件codes/go下按章节划分包例如chapter_sorting、chapter_searching、chapter_dynamic_programming等另有 pkg 目录存放ListNode、TreeNode等练习共用的数据结构定义。以排序章节为例quick_sort.go是算法源码quick_sort_test.go 是对应的测试文件包含三个测试函数TestQuickSort运行基本版快速排序TestQuickSortMedian运行中位基准数优化版TestQuickSortTailCall运行递归深度优化版。每个测试函数做的事很直接构造一个待排序数组[]int{4, 1, 3, 1, 5, 2}调用quickSort(nums, 0, len(nums)-1)然后用fmt.Println打印排序完成后的数组例如func TestQuickSort(t *testing.T) { q : quickSort{} nums : []int{4, 1, 3, 1, 5, 2} q.quickSort(nums, 0, len(nums)-1) fmt.Println(快速排序完成后 nums , nums) }有一点需要事先了解这些测试函数是「运行算法 打印结果」的写法本身没有断言逻辑。因此go test显示通过说明的是算法运行过程没有 panic 或编译错误而排序结果是否正确需要你自己看打印出来的数组来判断。用 go test 运行算法练习测试所有命令都在模块根目录codes/go下执行必须先进入该目录因为go test依据go.mod定位包运行某一章的全部测试cd codes/go go test ./chapter_sorting/运行时只报告通过/失败结果不打印测试内的fmt.Println内容。要查看测试函数里打印的排序结果加-v参数go test -v ./chapter_sorting/-v模式下go test会逐个显示测试名以及测试的标准输出。示例输出依据测试代码推断实际时间数值可能不同 RUN TestQuickSort 快速排序完成后 nums [1 1 2 3 4 5] --- PASS: TestQuickSort (0.00s) RUN TestQuickSortMedian 快速排序中位基准数优化完成后 nums [1 1 2 3 4 5] --- PASS: TestQuickSortMedian (0.00s) RUN TestQuickSortTailCall 快速排序递归深度优化完成后 nums [1 1 2 3 4 5] --- PASS: TestQuickSortTailCall (0.00s) PASS ok github.com/krahets/hello-algo/chapter_sorting 0.001s如果只想运行模块里全部章节的测试用./...匹配所有包go test ./...如果想按测试名筛选用-run参数其值是正则表达式。由于TestQuickSortMedian、TestQuickSortTailCall都以TestQuickSort为前缀直接写-run TestQuickSort会连带跑完三个测试要精确只跑一个用^...$锚定go test -v -run ^TestQuickSort$ ./chapter_sorting/查看测试输出与判断结果运行后按以下方式判断结果没有FAIL输出末尾出现ok加模块路径、包名的行如上例中ok github.com/krahets/hello-algo/chapter_sorting表示该包的测试全部通过-v模式下每个测试函数前会打印 RUN 测试名其后跟的是测试内fmt.Println的标准输出也就是你要核对的排序结果测试函数内出现 panic 或程序异常时对应测试显示--- FAIL包结果变为FAIL此时需要根据输出中的报错位置回到源码文件如quick_sort.go排查。核对排序结果时对照测试代码中的初始数组[4 1 3 1 5 2]三个版本排序完成后打印的数组都应为升序的[1 1 2 3 4 5]这就是当前测试通过且算法行为符合预期的直观依据。限制与下一步测试命令只能在codes/gogo.mod所在目录下运行在其他目录执行会找不到包测试输出是算法的正常运行打印不是性能或正确性的自动断言结果判断仍依赖你自己比对打印出的数组仓库各语言目录en/、ja/、ru/等下还有各自的codes/go副本本文以根目录codes/go为准。测试跑通后可以结合 快速排序图解文档 阅读算法原理按同样的方式运行其他章节如chapter_searching、chapter_dynamic_programming的*_test.go测试把每章练习都实际跑一遍。【免费下载链接】hello-algo《Hello 算法》动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語提供 Python, Java, C, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 等代码实现项目地址: https://gitcode.com/GitHub_Trending/he/hello-algo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/25 20:42:28

仙剑换引擎争议下的技术复盘:为什么画面进步不等于体验提升

仙剑奇侠传:退钱!你就拿这个考验干部?——老牌IP更换引擎后的技术复盘最近,“退钱”和“老IP新作”被网友放在了一起:有人把影视剧里那句经典台词改写成了“你就拿这个考验老玩家”,配的却是仙剑相关的新作…

2026/10/25 10:29:21

2026 AI算力底座的核心:内存墙、HBM与CXL内存池化全解析

1. 算力底座的核心矛盾:为什么Memory成了AI的命门 过去两年我一直在做AI基础设施相关的架构评估,一个越来越明显的体感是: AI的算力之争,本质上已经变成了内存系统之争。 很多人一谈AI算力底座,第一反应就是GPU卡型号…

2026/10/21 15:42:09

Audacity|免费多轨音频编辑上手指南

Audacity|免费多轨音频编辑上手指南 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 你录完一段播客,删掉口误和长停顿,压掉背景里的空调声,最后导出一个可以直接上传…

2026/10/26 0:35:51

多模态大模型Qwen3-VL 8B与GSPO算法在数学视觉推理中的应用

1. 项目概述:当多模态大模型遇上数学视觉推理去年在部署Qwen1.5-7B时,我就被通义千问系列模型的性能惊艳到了。如今Qwen3-VL 8B这个支持视觉输入的大模型问世,结合MathVista这个专攻数学视觉推理的数据集,正好可以验证一个假设&am…

2026/10/26 0:35:51

链家房产数据爬虫与分析:Scrapy反爬实战+Pandas建模

简介:这是一份面向计算机及相关专业本科生的毕业设计实战项目,聚焦链家房产数据采集与分析全流程,适用于课程设计、期末大作业及毕业设计参考,尤其适合Python初学者开展可运行的爬虫数据分析完整实践。资源共31个文件,…

2026/10/26 0:35:51

OpenClaw智能体开发平台:技术解析与高薪岗位指南

1. OpenClaw爆火背后的技术革命与职业重构OpenClaw的突然走红绝非偶然。这个被称为"AI智能体开发平台"的工具,本质上是一套能够自主完成复杂任务的AI代理系统。与传统的单任务AI模型不同,OpenClaw通过多智能体协作架构,实现了任务分…

2026/10/26 0:30:51

AIGC工具对比:千笔降噪与灵感风暴创意激发

1. 项目概述:AIGC工具的市场现状与需求背景近年来随着生成式人工智能技术的爆发式增长,AIGC(AI Generated Content)工具已经渗透到各行各业的内容创作领域。从文字创作、图像生成到视频制作,AIGC技术正在重塑传统内容生…

2026/10/26 0:25:50

C# WinForm考试系统实战:从Access选型到随机组卷与自动判分

简介:这是一份基于C# WinForm开发的考试系统完整源码,采用经典三层架构,分为教师端与学生端,数据库使用SQL Server 2014。源码对关键逻辑逐行注释,清晰易读,既适合初学C#与WinForm的开发者模仿练习&#xf…

2026/10/26 0:15:49

从CLIP到SigLIP再到VLM:视觉特征如何对齐到语言模型

视觉大模型这几年迭代得非常快,从最早把图像和文本拉到同一个语义空间的 CLIP,到用 Sigmoid 损失把对比学习做得更干净的 SigLIP,再到现在动辄能"看图说话"的 VLM(视觉大语言模型),这条演进线其实…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/25 0:02:23

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/26 0:20:17

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/26 0:00:48

Nested Learning:解决AI灾难性遗忘的分层记忆架构

1. 为什么AI需要"记忆"能力?在传统深度学习模型中,我们常遇到一个根本性问题:模型在处理新任务时,往往会完全遗忘之前学到的知识。这种现象被业界称为"灾难性遗忘"(Catastrophic Forgetting)。想象一下&#…

2026/10/26 0:00:48

企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战

1. 这不是“用大模型”,而是重构工作流的起点“大模型的应用和工具”——这八个字现在被贴在无数技术分享、招聘JD、内部立项书的标题栏里,但绝大多数人点进去后看到的,是零散的API调用示例、几个开源UI截图、或者一句“接入LLM就能降本增效”…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑