我正试图在godoc上做一个可行的例子。
测试代码: $ GOPATH / SRC /霍格/ hoge_test.go
package hoge_test
import (
"fmt"
"hoge"
"testing"
)
func ExampleHoge() {
fmt.Println(hoge.Hoge())
// Output:
// hoge!!
}
测试通过:
$ go test hoge
ok hoge 0.011s
Godoc
$ godoc -play -http=:8080
我可以在Web浏览器上看到hoge
包的示例游乐场,但是当我'运行'示例时,会出现以下错误。
tmp/sandbox389904218/main.go:5:2: cannot find package "hoge" in any of:
/usr/local/go/src/hoge (from $GOROOT)
/go/src/hoge (from $GOPATH)
我设置了自己的GOPATH,但错误中显示的不是/go
。
我需要运行示例。
我有上述错误的原因。 Godoc playable示例重定向到play.golang.org以运行代码,因此错误中的GOPATH似乎在play.golang.org环境中。
我仍然不确定如何运行我自己的pkg示例...
答案 0 :(得分:1)
这是因为godoc使用golang.org/x/tools/playground工具,该工具只代理golang.org的请求。除非它们位于golang.org上发布的包中,否则您似乎无法运行示例函数。这里是github中的相关文件:https://github.com/golang/tools/blob/master/playground/common.go,这里的godoc工具引用了这个文件:https://github.com/golang/tools/blob/master/cmd/godoc/play.go