web-dev-qa-db-fra.com

Désactiver les vérifications de go vet pour "le littéral composite utilise des champs non clés"

J'exécute go vet sur mon outil CI et j'ai commencé à obtenir l'erreur:

composite literal uses unkeyed fields

Parce que j'instancie

type A struct {
   *B
}

comme ça:

A{b} // b is of type *B

Je ne me soucie pas de cet avertissement et je souhaite le désactiver lors de mes vérifications par un vétérinaire. Comment puis-je faire cela?

23
Matt Joiner
$ go doc cmd/vet

Par défaut, toutes les vérifications sont effectuées. Si des indicateurs sont explicitement définis sur true, seuls ces tests sont exécutés. Inversement, si un indicateur est explicitement défini sur false, seuls ces tests sont désactivés. Ainsi -printf = true exécute la vérification printf, -printf = false exécute toutes les vérifications à l'exception de la vérification printf.

Unkeyed composite literals

Flag: -composites

Composite struct literals that do not use the field-keyed syntax.
22
peterSO

Vous pouvez le désactiver ou vous pouvez corriger le code à la place:

a := A{B: b}

playground

44
OneOfOne
go tool vet -composites=false .
2
mvndaai

Vous pouvez le désactiver avec le -composites=false drapeau: par exemple,

go vet -composites=false .

NB: go tool vet est obsolète

0
tantrix