我试图传递一个值列表到aws-sdk-go-v2中的'IN'表达式,但我不知道如何动态地执行它。
这就是现在的样子。
func Find(colors []string) ([]Trip, error) {
db := database.GetClient()
filt := expression.In(
expression.Name("color"),
expression.Value(colors[0]),
expression.Value(colors[1]),
)
expr, err := expression.NewBuilder().WithFilter(filt).Build()
if err != nil {
fmt.Println(err)
}
params := &dynamodb.ScanInput{
ExpressionAttributeNames: expr.Names(),
ExpressionAttributeValues: expr.Values(),
FilterExpression: expr.Filter(),
TableName: aws.String("Test"),
}
resp, err := db.Scan(context.TODO(), params)
}
我想使列表值动态,而不使用其索引访问。像下面这样filt := expression.In(expression.Name("color"),expression.Value(colors))
我如何才能做到这一点?
1条答案
按热度按时间goqiplq21#
请参见将参数传递给...语言规范中的参数。