Maison >développement back-end >Golang >Comment attribuer une valeur de repli par défaut à une variable

Comment attribuer une valeur de repli par défaut à une variable

WBOY
WBOYavant
2024-02-06 08:24:06596parcourir

Comment attribuer une valeur de repli par défaut à une variable

Contenu de la question

J'ai un structpointeur

dans ma candidature
type body struct {
   a *string
   b *string
}

Je souhaite transmettre la valeur de chaîne vide par défaut si body中的ab的值传递给函数,这样如果指针aest vide. Quelque chose comme ça :

sampleFunc(ctx,*A||"");

func sampleFunc(ctx Context,count string){
// ......
}

Que dois-je faire ?


Réponse correcte


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!

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