我的應用程式中有一個 struct
指標
type body struct { a *string b *string }
我想將body
中的a
和b
的值傳遞給函數,這樣如果指標a
為空,則傳遞預設的空字串值。像這樣的東西:
sampleFunc(ctx,*A||""); func sampleFunc(ctx Context,count string){ // ...... }
我該怎麼做?
使用您所需的邏輯宣告一個函數,用於從指標計算值。我在這裡使用泛型,因此函數適用於任何類型。
// 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 }
像這樣使用:
samplefunc(ctx, value(a))
帶有 *string
欄位的 api 通常會為此目的提供輔助函數。例如,aws api 提供 stringvalue函數:
sampleFunc(ctx, aws.StringValue(A))
以上是如何為變數分配預設回退值的詳細內容。更多資訊請關注PHP中文網其他相關文章!