Golang文档功能参数

Jus*_*Lin 5 go

阅读godoc doc。它没有指定如何记录功能参数。

省略它的原因是什么?

Nat*_*ord 12

Golang 更喜欢函数签名“自记录”的风格,因为参数/参数名称及其类型的组合应该在很大程度上是解释性的。应以自然语言风格在文档标题中提供附加信息。来自 golang example.go

// splitExampleName attempts to split example name s at index i,
// and reports if that produces a valid split. The suffix may be
// absent. Otherwise, it must start with a lower-case letter and
// be preceded by '_'.
//
// One of i == len(s) or s[i] == '_' must be true.
func splitExampleName(s string, i int) (prefix, suffix string, ok bool) {
    if i == len(s) {
        return s, "", true
    }
    if i == len(s)-1 {
        return "", "", false
    }
    prefix, suffix = s[:i], s[i+1:]
    return prefix, suffix, isExampleSuffix(suffix)
}
Run Code Online (Sandbox Code Playgroud)

在这里我们看到有关 和 的详细信息s包含i在函数前面的摘要描述中。同样,该段落中包含有关返回值的注释。这与 Java 或 Python 或其他语言不同,后者为每个细节提出了更正式的结构。原因是 Golang 风格通常针对简洁性和灵活性进行了优化,避开了其他语言的规范性风格指南方法并依赖于gofmt大部分繁重的工作。

  • 如果想要重命名“s”或“i”,则自动重命名文档中的引用不起作用(例如在 IntelliJ 中)。 (4认同)

Adr*_*ian 9

godoc 中没有明确的函数参数文档。参数名称和类型未涵盖的任何必要细节都应包含在函数的文档注释中。例如,请参阅标准库中的每个函数

  • 当然,如果您知道自己在做什么,并且足够幸运能够找到一个描述有关其参数的附加信息的函数,那么当然可以点击四到五次。该页面上的许多链接不会指向源代码,而源代码是 OP 和大多数新手开发人员正在寻找的东西。 (13认同)
  • FWIW,提供的链接没有显示开发人员如何执行此操作的示例 - 仅显示 doctool 咀嚼结果是什么。 (11认同)