Ich habe einen struct
Hinweis
type body struct { a *string b *string }
Ich möchte den standardmäßigen leeren Zeichenfolgenwert übergeben, wenn body
中的a
和b
的值传递给函数,这样如果指针a
leer ist. Etwa so:
sampleFunc(ctx,*A||""); func sampleFunc(ctx Context,count string){ // ...... }
Was soll ich tun?
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!