Go标准库中有一些不错的executable examples。如何将这样的示例添加到我自己的API文档中?
答案 0 :(得分:11)
$ go help testfunc
的输出:
'go test'命令期望找到测试,基准测试和示例函数 在与被测试软件包对应的“* _test.go”文件中。
测试函数名为TestXXX(其中XXX是任何字母数字字符串 不是以小写字母开头)并且应该有签名,
func TestXXX(t *testing.T) { ... }
基准测试功能名为BenchmarkXXX,应具有签名
func BenchmarkXXX(b *testing.B) { ... }
示例函数类似于测试函数,但不是使用* testing.T 报告成功或失败,将输出打印到os.Stdout和os.Stderr。 该输出与函数的“输出:”注释进行比较 必须是函数体中的最后一条注释(参见下面的示例)。一个 在编译“输出:”之后没有这样的注释或没有文本的示例 但没有被执行。
Godoc显示ExampleXXX的主体以演示其用途 函数,常量或变量XXX。方法M的一个例子 接收器类型T或* T被命名为ExampleT_M。可能有多个例子 对于给定函数,常量或变量,由尾随_xxx区分, 其中xxx是不以大写字母开头的后缀。
以下是一个示例示例:
func ExamplePrintln() {
Println("The output of\nthis example.")
// Output: The output of
// this example.
}
当整个测试文件包含单个文件时,它将作为示例显示 示例函数,至少一个其他函数,类型,变量或常量 声明,没有测试或基准功能。
有关详细信息,请参阅测试包的文档。