什么是Go示例函数?

Cal*_*lin 8 testing go

Go测试包提到示例函数,如:

func Example() { ... }
func ExampleF() { ... }
func ExampleT() { ... }
func ExampleT_M() { ... }
Run Code Online (Sandbox Code Playgroud)

这些是什么意思和用例?

icz*_*cza 9

示例函数是一个包或函数的用法示例或您正在记录的其他代码.示例函数将以源格式包含在生成的godoc中(而其他函数不包括),具有适当的格式,还应用了一些处理,例如,如果示例函数的最后一行包含以下格式的输出:

func ExampleExamples_output() {
    fmt.Println("Hello")
    // Output: Hello
}
Run Code Online (Sandbox Code Playgroud)

指定输出的最后一行将被剥离并在单独的块中呈现,如下所示:示例(输出).

此外,如果提供了输出:运行包的测试套件(例如with go test)也执行示例函数而不再进一步安排,Go将示例函数的输出与上一个注释行中指定的输出进行比较 - 结果将确定此示例函数是否通过"test".如果未在示例函数中指定输出,go test则仅编译它但不执行它.

看看这个页面:包godoctricks

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

Go中的可测试示例