试图在一个简单的平面代码文件夹上提供一个godoc。在线文档并不解释如何完成这个简单的任务。
所以,创建这个简单的结构,
/tmp/testgodoc$ tree
.
└── src
├── main (just the binary)
└── main.go
1 directory, 2 files其中main.go是简单的
/tmp/testgodoc$ cat src/main.go
// Hello godoc
package main
import "fmt"
// Say Hello
func main() {
fmt.Println("Hello")
}在GOPATH或模块模式下运行时,在浏览器中打开localhost:6060并不会给出记录当前文件夹的预期结果。
在模块模式下运行将给出输出和结果:
/tmp/testgodoc$ ~/go/bin/godoc -goroot=. -http=:6060
using module mode; GOMOD=/dev/null
(when Ctrl-C:) cannot find package "." in:
/src/main
^C

在GOPATH模式下运行似乎指向本地标准库:
/tmp/testgodoc$ GO111MODULE=off ~/go/bin/godoc -goroot=. -http=:6060
using GOPATH mode
^C

发布于 2021-12-29 18:42:20
您应该将主包放在子目录中,可能如下所示:
~/go/src/testGoDoc$ tree
├── cmd
│ └── main.go
├── go.mod
└── pkg
└── test1
└── test_package.go这样您就可以运行这两个命令:
godoc -http=:6060 #http://localhost:6060/pkg/<module name inside go.mod>/和
GO111MODULE=off godoc -http=:6060 #http://localhost:6060/pkg/testGoDoc/https://stackoverflow.com/questions/70522082
复制相似问题