Maison > développement back-end > Golang > le corps du texte

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

WBOY
Libérer: 2024-02-06 08:24:06
avant
546 Les gens l'ont consulté

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
}
Copier après la connexion

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){
// ......
}
Copier après la connexion

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
}
Copier après la connexion

Utilisez comme ceci :

samplefunc(ctx, value(a))
Copier après la connexion
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))
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal