Maison >développement back-end >Golang >Comment attribuer une valeur de repli par défaut à une variable
J'ai un struct
pointeur
type body struct { a *string b *string }
Je souhaite transmettre la valeur de chaîne vide par défaut si body
中的a
和b
的值传递给函数,这样如果指针a
est vide. Quelque chose comme ça :
sampleFunc(ctx,*A||""); func sampleFunc(ctx Context,count string){ // ...... }
Que dois-je faire ?
Déclarez une fonction pour calculer la valeur à partir du pointeur avec la logique requise. J'utilise ici des génériques pour que la fonction fonctionne avec n'importe quel type.
// value returns the value the value pointed // to by p or the empty value when p is nil. func value[t any](p *t) t { var result t if p != nil { result = *p } return result }
Utilisez comme ceci :
samplefunc(ctx, value(a))Les
API avec des champs *string
fournissent généralement des fonctions d'assistance à cet effet. Par exemple, l'API AWS fournit la fonction stringvalue :
sampleFunc(ctx, aws.StringValue(A))
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!