go vet 警告该示例引用未知标识符,但为什么呢?

我有一个Extractor接口,它有一个Playlist方法:


// extractor.go

package extractor

type Extractor interface {

    Playlist(timestampFrom int64) (playlist.Tracklist, error)

}

我在另一个包中使用这个接口:


// fip.go

package fip

type Extractor struct {

}


func (extractor Extractor) Playlist(timestampFrom int64) ([]playlist.Track, error) {

    // ...

}

在我的测试中,我想展示一个关于如何使用该Playlist方法的示例fip:


// fip_test.go

package fip

func ExamplePlaylist() { 

    // ...

}

但go vet显示此错误: fip/extractor_test.go:82:1: ExamplePlaylist refers to unknown identifier: Playlist


我不明白为什么......Playlist确实作为fip包中的一种方法存在。我错过了什么?


小怪兽爱吃肉
浏览 124回答 1
1回答

ITMISS

示例函数的正确名称ExampleExtractor_Playlist如测试文档的示例部分所述。报价:The naming convention to declare examples for the package, a function F, a type T and method M on type T are:func Example() { ... }func ExampleF() { ... }func ExampleT() { ... }func ExampleT_M() { ... }您的示例是最后一种情况TisExtractor和Mis Playlist。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go