【问题标题】:SIMPLE godoc Hello world简单的 godoc 你好世界
【发布时间】:2022-01-27 23:43:46
【问题描述】:

尝试在一个简单、扁平的代码文件夹中提供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

【问题讨论】:

  • 这能回答你的问题吗? View package documentation locally in a browser
  • @ArkadiuszDrabczyk 已经阅读了答案,但没有一个选项有帮助。在 GOPATH 模式下“只需输入http://localhost:6060/pkg/your/package”不起作用,请参见第二张截图。在模块模式下,已经尝试了 workaroud(src 文件夹),但也没有工作,正如您在第一个屏幕截图中看到的那样。下面的答案确实工作!至少在模块模式下。

标签: go project documentation godoc


【解决方案1】:

你应该把你的主包放到一个子目录中,可能是这样的:

~/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/

【讨论】:

  • 模块模式下工作。在 GOPATH 模式下,包名不会出现,并且在 url 中输入时,不会显示预期的文档:只有 cannot find package "." in: /src/testGoDoc
猜你喜欢
  • 1970-01-01
  • 2021-11-19
  • 2015-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多