什么是 Go 示例函数?

2023-12-20

Go测试包提到示例函数 http://golang.org/pkg/testing/#hdr-Examples as in:

func Example() { ... }
func ExampleF() { ... }
func ExampleT() { ... }
func ExampleT_M() { ... }

这些的意义和用例是什么?


示例函数是包或函数或您正在记录的其他代码的使用示例。示例函数将以源形式包含在生成的 godoc 中(而其他函数则不然),并具有正确的格式,还应用一些处理,例如,如果示例函数的最后一行包含以下格式的输出:

func ExampleExamples_output() {
    fmt.Println("Hello")
    // Output: Hello
}

指定输出的最后一行将被剥离并呈现在单独的块中,如下所示:示例(输出) https://godoc.org/github.com/fluhus/godoc-tricks#example-Examples--Output.

另外,如果提供了输出:运行包的测试套件(例如,使用go test)也会执行示例函数,无需您做进一步的安排,并且 Go 会将示例函数的输出与最后一个注释行中指定的输出进行比较 - 其结果将确定此示例函数作为“测试”是否通过。如果示例函数中未指定输出,go test只会编译它但不会执行它。

查看此页面:封装技巧 https://godoc.org/github.com/fluhus/godoc-tricks

另外还发布了一篇关于示例函数的博客文章:

Go 中的可测试示例 http://blog.golang.org/examples

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是 Go 示例函数? 的相关文章

  • Bash脚本无法执行Go命令

    我正在尝试编写一个 bash 脚本来自动在不同的目录中运行 go get install 相关部分在这里 cd web go get cd web go install cd services go get cd services go i
  • 如何让JUnit打印断言结果

    如何将 JUnit 断言的结果打印到 到标准输出 我有一些这样的测试 Test public void test01 Position p getPositionAt a 1 assertNotNull a1 exists p assert
  • 数据库连接最佳实践

    我有一个使用 net http 的应用程序 我使用 http 注册了一些处理程序 这些处理程序需要从数据库中获取一些内容 然后才能继续编写响应并完成请求 我的问题是连接到该数据库的最佳实践是什么 我希望它能够以每分钟 1 个请求或每秒 10
  • 如何自定义解析错误的 HTTP 400 响应?

    我编写了一个 REST API 服务 要求所有响应均为 JSON 但是 当 Go HTTP 请求解析器遇到错误时 它会返回 400 作为纯文本响应 而不会调用我的处理程序 例子 gt curl i H Authorization Basic
  • Grails 测试默认在测试环境中运行吗?

    是否有必要提供这样的环境grails test test app Grails 测试确实运行在test默认环境 一般来说 Grails 命令默认为dev如果没有指定 但是test app命令覆盖环境test如果没有指定 并且war命令默认为
  • Bazel 构建缺少严格的依赖关系

    我正在尝试使用 brazel 构建 Go 应用程序 它是一个现有的私有 GitHub 存储库 位置如下 github xyz com repo name 我正在研究 我的目标是从 main go 文件创建一个二进制文件 该文件的方法依赖于其
  • 当变量更新时动态刷新模板的一部分golang

    在Golang中 当变量更新时可以刷新模板的一部分吗 例如 我们可以在 Angular js 中找到这一点 基本上在我的代码中 我通过 ajax 中的邮政编码查找地址 它显示我找到的该邮政编码的用户列表 Here is a sample o
  • Go MSSQL 连接

    如何提供 MSSQL 连接 它说它始终与代码相关 即使信息不正确 也不会报错 package main import database sql fmt github com denisenkom go mssqldb log var ser
  • Rspec——需要存根在另一个文件中调用的 File.open

    在我的测试中 我正在初始化一个名为的新类Package带有一些参数 在此类的初始化中 我打开一个在远程机器上可用的文件 但不是本地常见的文件 我想知道如何在测试中对该方法进行存根 我正在使用 rspec 和 mocha 我尝试过类似的东西
  • 如何使用 cypress 登录 Salesforce?

    我目前正在使用 cypress 进行一些测试 但是 我必须与 salesforce 进行一些测试 似乎我遇到了以下问题 哎呀 没有可以运行的测试 context Salesforce gt beforeEach gt cy request
  • Golang - 更改 Windows 上的构建工作路径

    我正在使用 SublimeText3 GoSublime 插件 在 Windows 8 上测试简单的 Go 程序 go run v example go 在运行之前它正在内部编译 应用程序数据 本地 温度 目录 我的防病毒程序认为这是病毒并
  • 使用 crypto/ssh 的 golang scp 文件

    我正在尝试通过 ssh 下载远程文件 以下方法在 shell 上运行良好 ssh hostname tar cz opt local folder gt folder tar gz 然而 golang 上的相同方法在输出工件大小方面存在一些
  • Go 中的 WebP 编码器/解码器

    是否有一个完整的 WebP 编码器和解码器与当前每周 或可分叉 兼容 它的速度与标准 png 相当吗 这个人在 GitHub 上有一个包 其中包含 WebP 的编码器和解码器 https github com chai2010 webp h
  • Grails 控制器单元测试不会将页面渲染到response.text

    我的环境配置 Java 1 7u51 Grails 2 3 7 我试图断言response text在控制器测试中但它总是带 发生了什么 这是我的用户控制器 class UserController def index flash erro
  • Golang 基础知识 struct 和 new() 关键字

    我正在学习 golang 当我阅读描述结构的章节时 我遇到了初始化结构的不同方法 p1 passport var p2 passport p3 passport Photo make byte 0 0 Name Scott Surname
  • 如何在C#中执行Go函数

    有没有办法从 C 执行 Go 函数 例如 对于 Python 我会使用 Ironpython 我知道我可以生成一个进程来执行 Go 脚本 但如果可能的话 我真的不想回退到这样的解决方案 Google 搜索没有显示任何内容 那么有什么方法可以
  • Symfony2 功能测试会话持久性

    我正在尝试在 Symfony 中进行一些功能测试 但目前我的会话遇到了问题 我执行了一段代码 它似乎有效 但容器的会话中没有存储任何内容 我有一个表格 您可以在其中设置数据 当您提交它时 它会检查值并将其存储在会话中 然后它重定向到另一个页
  • 错误“binary.Write:无效类型”是什么意思?

    下面显示的代码 我创建了一个结构类型并希望将其编码为二进制 但它显示binary Write invalid type main Stu错误 我读过一些类似的代码 但我找不到为什么我的代码不起作用 type Stu struct Name
  • Go 的范围不能超过 (类型接口 {})

    我正处于尝试将我的注意力集中在 Go 上的婴儿阶段 目前 我正在模拟一个 API 请求 该请求返回包含对象数组的 JSON 格式的字符串 我试图找出迭代每个记录并访问每个字段的最合适的方法 最终 每个字段都将写入 Excel 电子表格 但现
  • 如何在量角器中模拟拖放动作?

    我有一个双滑块 我想测试它是否可操作并返回正确的数据 滑块有一个最小和一个最大处理程序 它还有一些 我可以挂钩的断点 我想要模拟的是 handler max 元素的 touchStart 将拇指移动到类为 step 3 的元素上 handl

随机推荐