问题标签 [godoc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 记录 Golang 程序的惯用方式,由一个 main.go 文件组成
我编写了一个 Go 工具,它可以读取文件并根据输入生成输出。它由一个 main.go 文件组成。为了使用 godoc(或者只是习惯用法),我在哪里记录该工具的功能?
visual-studio-code - 如何在快捷方式上强制 godoc
我有几个关于 VSCode 中的 Go 插件的问题,并决定将其合并为一个:
如果可以通过快捷方式而不是鼠标悬停强制显示 godoc 弹出窗口,则找不到任何信息 - 可能吗?
通过代码完成窗口时有什么方法可以显示 godoc 弹出窗口?
谢谢
windows - Windows隐藏的godoc
我在启动隐藏在我的 Windows 开发机器上的 godoc 服务器时遇到问题。这个想法是有一批启动 godoc 并在我的浏览器中打开它。到目前为止,这是可行的,但我无法摆脱保存 godoc 输出日志的控制台窗口。有没有办法在后台完全启动它?
我的批次:
注释行是我迄今为止尝试过但没有成功的事情。
go - 为什么我的示例没有出现在 GoDoc 中?
我在 _test.go 文件中创建了一个包含示例的包,它运行良好。我将示例移至 integration_test.go,然后移至 example_test.go,现在它们没有出现在我的 godoc中
example_test.go 的内容是这样的:
go - 如何使用 godoc 为文件夹内的所有包生成 HTML 文档
godoc -html
只为一个包生成文档。但是,我想为项目提供所有包的所有文档,就像我运行godoc -http
. 有了它,我可以找到所有包并从浏览器中浏览它们。
是否可以为通过链接在一起的所有包生成 HTML 页面godoc -html
?
go - 列出源代码中的所有函数
我有文件夹,其中.go
定义了文件和函数。
是否可以在命令行中列出当前文件夹中的所有函数声明,可能是godoc
?
要有这样的输出:
go - 特定于架构的 Golang 函数的文档
我有一个功能,我想为amd64
架构提供一个程序集实现。为了便于讨论,我们假设它是一个
Add
函数,但实际上它比这更复杂。我的程序集版本可以正常工作,但我的问题是让 godoc 正确显示。我有一种感觉,这是目前不可能的,但我想寻求建议。
更多细节:
- 该函数的汇编实现只包含几条指令。特别是,调用函数的成本是整个成本的重要组成部分。
- 它使用特殊指令 (
BMI2
),因此只能在CPUID
能力检查之后使用。
实现的结构类似于这个 gist。在高水平:
- 在通用(非
amd64
情况)中,该函数是通过委托给 来定义的addGeneric
。 - 在
amd64
函数实际上是一个变量的情况下, 如果 检查通过,最初设置为但在函数中addGeneric
替换为。addAsm
init
cpuid
这种方法有效。但是,godoc 输出很糟糕,因为在这种
amd64
情况下,函数实际上是一个变量。注意 godoc 似乎正在使用与其运行的机器相同的构建标签。我不确定godoc.org
会做什么。
考虑的替代方案:
- 该
Add
函数委托给addImpl
. 然后我们拉一些类似addImpl
的技巧来替换amd64
案例。这个问题是(在我的实验中)Go 似乎无法内联调用,并且程序集现在包含在两个函数调用中。由于组件已经很小,这对性能有显着影响。 - 在这种
amd64
情况下,我们定义了一个简单的函数Add
,其中包含检查,并根据结果useAsm
调用其中一个和。这将对性能产生更严重的影响。addGeneric
addAsm
所以我想问题是:
- 有没有更好的方法来构建代码以实现我想要的性能,并让它在文档中正确显示。
- 如果没有其他选择,还有其他方法可以“欺骗”godoc吗?
go - godoc 带有 CRLF 的示例输出
我写了以下方法:
我还编写了演示编码器的函数:
现在的问题是此示例使go test
命令失败,因为注释中的换行符是 \n 换行符(我在 Linux 上),而生成的换行符c.Encode
必须是 \r\n(CRLF) 换行符(由某些规范定义) .
我怎样才能让这个例子不失败go test
,同时又保持简单?有没有办法在换行符上提示 go test/godoc 或让它们更宽松?
我大概可以手动编辑这两行或整个代码库上的换行符,但这将非常脆弱,我想避免这种解决方案。