我尝试将特定的本地go文件作为文档网页提供,但无法执行此操作。
official godoc documentation说:
使用-http标志(即godoc命令),它作为Web服务器运行,并将文档显示为网页。
user_me$ godoc -http=:6060
这会创建与go页面类似的内容,但它不会呈现我想要呈现的特定文件。所以我试着提供我想要的文件的名称:
user_me$ godoc -http=:6000 hello.go
但是,它只回复:
usage: godoc package [name ...]
godoc -http=:6060
-ex=false: show examples in command line mode
-goroot="/usr/local/go": Go root directory
-html=false: print HTML in command-line mode
-http="": HTTP service address (e.g., ':6060')
-httptest.serve="": if non-empty, httptest.NewServer serves on this address and blocks
-index=false: enable search index
-index_files="": glob pattern specifying index files;if not empty, the index is read from these files in sorted order
-index_throttle=0.75: index throttle value; 0.0 = no time allocated, 1.0 = full throttle
-links=true: link identifiers to their declarations
-maxresults=10000: maximum number of full text search results shown
-notes="BUG": regular expression matching note markers to show
-play=false: enable playground in web interface
-q=false: arguments are considered search queries
-server="": webserver address for command line searches
-src=false: print (exported) source in command-line mode
-tabwidth=4: tab width
-templates="": directory containing alternate template files
-timestamps=false: show timestamps with directory listings
-url="": print HTML for named URL
-v=false: verbose mode
-write_index=false: write index to a file; the file name must be specified with -index_files
-zip="": zip file providing the file system to serve; disabled if empty
我也尝试过:
user_me$ godoc -url="localhost:8080" hello.go
但它没有用。
我也尝试过:
godoc -server=localhost:8080 hello.go
但它回答说:
2014/07/01 10:45:56 open /usr/local/go/src/pkg/hello.go: no such file or directory
我甚至尝试过只生成html的东西:
godoc -html hello.go > hello.html
与上述相同的错误。
我也尝试过(因为它抱怨pkg目录中没有文件):
godoc -html -goroo=$GOPATH hello.go > hello.html
最后,我放弃了。我不知道这个godoc是如何工作的。我安装了hello.go程序,以便我在工作区的pkg文件中有一些东西。如何生成包含代码文档的网页?
答案 0 :(得分:17)
godoc对包名和类型名称进行操作,而不是文件名。
例如,要了解io/ioutil
包:
文字输出:godoc io/ioutil
仅ReadAll
函数:godoc io/ioutil ReadAll
:godoc -html io/ioutil ReadAll
:
godoc -http=:6060
http://localhost:6060/pkg/io/ioutil#ReadAll
要查看自己代码的文档,必须将其包含在GOPATH
。
假设您的GOPATH
包含$HOME/go/src
,而您感兴趣的文件为$HOME/go/src/hey/world/doc.go
,则可以运行:
godoc hey/world
...或者在HTTP模式下启动godoc并浏览到http://localhost:6060/pkg/hey/world
答案 1 :(得分:4)
默认情况下,godoc会查看通过$ GOROOT和$ GOPATH找到的包。因此,假设您的包在Go工作区中,即在GOPATH中,您可以运行
git merge
打印出fmt包的文档。
如果您要为位于godoc fmt
位置的广告资源foo
生成文档,则应该运行
$GOPATH/src/github.com/abcd/foo
使用godoc github.com/abcd/foo
标志,godoc作为Web服务器运行,并将文档显示为网页。
-http
现在导航到浏览器中的godoc -http=:6060
,将文档作为网页查找。
http://localhost:6060/pkg/github.com/abcd/foo
标志可用于在网络界面中启用游乐场。
答案 2 :(得分:2)
显示为您自己的代码生成的HTML文档
步骤1)在命令行启动文档Web服务器,即:
C:\>godoc -http=:6060
第2步)打开浏览器,并使用一个明确的URL(您的代码所在的文件夹)。
URL结构来自GOPATH下的文件夹名称。
例如:
如果我的GOPATH是c:\go
,并且我在c:\go\src\myfolder\mysubfolder
中有代码
我将使用的URL是http://localhost:6060/pkg/myfolder/mysubfolder
,这将显示其中的.go文件的HTML页面
您还可以使用URL http://localhost:6060/pkg/myfolder
,该URL包含一个指向mysubfolder
的链接
注意:
http://localhost:6060/pkg
级别查看本地代码,也许您看不到src
文件夹,请参见https://blog.golang.org/godoc-documenting-go-code 答案 3 :(得分:0)
单独运行 godoc
对我有用,但真的很慢,因为它
为标准库中的每个包生成文档,而我只
关心我正在处理的本地包。
为此,如果您的包名为 north
,只需设置您的当前目录
像这样:
src/north
然后运行:
godoc -goroot .
答案 4 :(得分:0)
在 linux 上,并假设您已 cd 进入要阅读其文档的包。
如果你使用的是 go 模块,你可以运行下面的命令
godoc -http=:6060 & xdg-open http://localhost:6060/pkg/$(go list -m)
它使用 -m
标志来获取包路径,即使根模块目录不包含任何 .go
文件。
如果你还没有使用模块,你可以运行,
godoc -http=:6060 & xdg-open http://localhost:6060/pkg/$(go list -f "{{.ImportPath}}")
请注意,与 -m
不同,如果目录中没有 .go
文件,此命令将无法正常工作。
查看 https://golang.org/pkg/cmd/go/internal/list/ 处的 go list
子命令帮助
答案 5 :(得分:-5)
您可以使用以下内容:
public float distance = 100f;
void Awake()
{
Vector3 screen2World = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width,Screen.height,distance));
background.localScale = new Vector3(screen2World.x,1.0f,screen2World.y);
print(screen2World);
}
其中
godoc -http=:6060 -path="/path/to/your-code"
包含您的包裹。
从那里,转到/path/to/your-code
以浏览您的软件包