Maison  >  Article  >  développement back-end  >  Go Doc indente/regroupe les fonctions de manière inattendue. Quelle est la cause de cela ?

Go Doc indente/regroupe les fonctions de manière inattendue. Quelle est la cause de cela ?

WBOY
WBOYavant
2024-02-05 22:24:11587parcourir

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

Contenu de la question

go doc consiste à indenter/créer un groupe sans que je le lui dise exprès.

Voici une capture d'écran de mon navigateur montrant le problème. Les quatre fonctions d'analyse ne doivent pas être en retrait :

Qu'est-ce qui cause ce comportement ?

J'ai essayé de rechercher des indentations/sections/regroupements dans Go Docs mais je n'ai rien trouvé à part des demandes de fonctionnalités. Je suis sûr que la réponse à ma question se trouve quelque part dans la documentation, mais je ne la trouve pas car je n'ai pas le bon vocabulaire.

Je suis relativement nouveau pour aller et aller doc, donc j'ai supposé que la réponse était simple, mais je l'ai négligée.

Voici un extrait de mon code. Si j'ai besoin de partager plus de code, faites-le-moi savoir.

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

J'ai un autre fichier blocks.go avec presque la même structure que blocks.go,它的结构与 status.go 几乎相同,并且它不会导致此行为。我也不知道问题是由前面的类型 status 还是 cloudwind_block.go et cela ne provoque pas ce comportement. Je ne sais pas non plus si le problème est causé par le type précédent statut ou par quelque chose dans le fichier

.

// 作为单行文档,使用 /* */J'utilise

pour les documents multilignes. J'ai essayé de temps en temps de le rendre cohérent, mais comme prévu, cela n'a pas fonctionné.

Réponse correcte

La raison du regroupement et de l'indentation est que ces fonctions sont considérées comme des « constructeurs » du type dans lequel elles sont regroupées/indentées.

https://www.php.cn/link/31c49b512f199bc6f8734034a87dd9fa

(Si vous faites défiler un peu vers le bas, vous verrez ceci) :

Cet exemple montre également les fonctions de niveau supérieur renvoyant le type T ou le pointeur *T, éventuellement avec des résultats d'erreur supplémentaires, montrant les méthodes avec le type T et son type, en supposant qu'elles soient des constructeurs de T

. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer