Heim >Backend-Entwicklung >Golang >So weisen Sie einer Variablen einen Standard-Fallback-Wert zu

So weisen Sie einer Variablen einen Standard-Fallback-Wert zu

WBOY
WBOYnach vorne
2024-02-06 08:24:06593Durchsuche

So weisen Sie einer Variablen einen Standard-Fallback-Wert zu

Frageninhalt

Ich habe einen structHinweis

in meiner Bewerbung
type body struct {
   a *string
   b *string
}

Ich möchte den standardmäßigen leeren Zeichenfolgenwert übergeben, wenn body中的ab的值传递给函数,这样如果指针aleer ist. Etwa so:

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

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

Was soll ich tun?


Richtige Antwort


Deklarieren Sie eine Funktion zur Berechnung des Werts aus dem Zeiger mit der erforderlichen Logik. Ich verwende hier Generika, sodass die Funktion mit jedem Typ funktioniert.

// 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
}

Verwenden Sie es wie folgt:

samplefunc(ctx, value(a))

APIs mit *string-Feldern stellen für diesen Zweck normalerweise Hilfsfunktionen bereit. Beispielsweise stellt die AWS-API die Funktion Zeichenfolgenwert bereit:

sampleFunc(ctx, aws.StringValue(A))

Das obige ist der detaillierte Inhalt vonSo weisen Sie einer Variablen einen Standard-Fallback-Wert zu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen