首頁  >  文章  >  後端開發  >  Go Doc 意外地縮排/分組函數。是什麼原因造成的?

Go Doc 意外地縮排/分組函數。是什麼原因造成的?

WBOY
WBOY轉載
2024-02-05 22:24:11586瀏覽

Go Doc 意外地缩进/分组函数。是什么原因造成的?

問題內容

go doc 正在縮排/建立一個群組,而我沒有故意告訴它。

這是我的瀏覽器的螢幕截圖,顯示了該問題。四個 parse 函數不應縮排:

是什麼導致了這種行為?

我嘗試在 go docs 中搜尋縮排/小節/分組,但除了功能請求之外我沒有找到任何內容。我確信我的問題的答案在文件中的某個地方,但我找不到它,因為我沒有正確的詞彙。

我對 go 和 go doc 比較陌生,所以我假設答案很簡單,但我忽略了。

這是我的程式碼的摘錄。如果我需要分享更多程式碼,請告訴我。

status.go

#
package synop

// status codes returned when parsing blocks.
type status int64

const (
    valid status = iota
    no_data
    // code omitted
)

// other functions omitted

cloudwind_block.go

package synop

import (
    "strings"
)

/*
Extract cloud cover from the cloud-wind block, Cxxxx.
Cloud, C, is the first digit of the block. Cloud over is given in [okta]:
*/
func ParseCloud(block string) (okta int, s Status) {
    slice := [2]int{0, 1}
    return parseIfValid(block, slice, str2int)
}

/*
Extract wind direction from from the cloud-wind block, xDDxxx.
Direction, DD, are the second and third digits.
*/
func ParseDir(block string) (dir string, s Status) {
    slice := [2]int{1, 3}
    return parseIfValid(block, slice, getDir)
}

// Other functions omitted

我有另一個檔案 blocks.go,它的結構與 status.go 幾乎相同,而且它不會導致此行為。我也不知道問題是由前面的類型 status 還是 cloudwind_block.go 文件中的某些內容引起的。

我使用 // 作為單行文檔,使用 /* */ 作為多行文檔。我嘗試過偶爾使其保持一致,但正如預期的那樣,它沒有效果。


正確答案


分組和縮排的原因是這些函數被視為它們分組/縮排的類型的「建構子」。

https://www.php.cn/link/31c49b512f199bc6f8734034a87dd9fa(如果您滾動往下一點,你會看到這個):

此範例也顯示傳回型別T 或指標*T 的頂層函數,可能會有額外的錯誤結果,與型別T 及其型別一起顯示方法,假設它們是T 的建構子

以上是Go Doc 意外地縮排/分組函數。是什麼原因造成的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除