我的应用程序中有一个 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中文网其他相关文章!