godocumentationgodoc

GoDoc add newline character


I know that Golang supports documentation of functions via single-line comments starting with the name of the function (spelled "func"). However, there's a nauseating side effect: having multiple single line comments will not produce a GoDoc with newline characters separating each line of text

Here's a pic to illustrate:

enter image description here

Here's the func, and its documentation:

//GetFunctionName gets function name
// Parameters:
// - `i` : Function
// **NOTE** this func fails if `i` is a variable set to a func
// (they're called "anonymous functions" in JavaScript)
func GetFunctionName(i interface{}) string {
    return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name()
}

How does one insert newlines in the generated documentation? (If this were Javadoc, I would be like <br> and all would be good)


Solution

  • Insert an empty comment line, and it will be a new paragraph, meaning it will start on a new line:

    // GetFunctionName gets function name
    //
    // Parameters:
    //   - `i` : Function
    //
    // **NOTE** this func fails if `i` is a variable set to a func
    // (they're called "anonymous functions" in JavaScript)
    func GetFunctionName(i interface{}) string {
        return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name()
    }
    

    Recommended blog post: Godoc: documenting Go code

    Relevant section:

    There are a few formatting rules that Godoc uses when converting comments to HTML:

    • Subsequent lines of text are considered part of the same paragraph; you must leave a blank line to separate paragraphs.
    • Pre-formatted text must be indented relative to the surrounding comment text (see gob's doc.go for an example).
    • URLs will be converted to HTML links; no special markup is necessary.