如何根据条件从嵌套数组golang grpc服务中获取数据
How to get data based on condition from nested array golang grpc service
我正在尝试根据 Go 中的下一个数组条件获取特定数据。我想,我就举个例子说清楚吧。
假设我有一个这样的数组
detail: {
contacts: [
{
email: "testing@gmail.com"
condition: {
valid: "Yes",
verified: "No"
}
},
{
email: "testing2@gmail.com"
condition: {
valid: "Yes",
verified: "Yes"
}
}
]
}
所以,如果条件验证为“是”,我会在调用 grpc 函数后尝试将电子邮件作为 return 获取。
result, err := grpcService.callingService.GetContactDetail(ctx, &contactServicePb.GetContactDetailRequest{
ContactId: "123",
})
if err != nil {
return err
}
这是我目前尝试的方法,我可以访问联系人列表,但我不知道如何验证属于“是”的电子邮件。
fmt.Println(result.Detail.Contacts)
这是输出的样子
{
email: "testing@gmail.com"
condition: {
valid: "Yes",
verified: "No"
}
},
{
email: "testing2@gmail.com"
condition: {
valid: "Yes",
verified: "Yes"
}
}
您可以遍历 result.Detail.Contacts
数组并存储联系人的电子邮件,验证条件为“是”:
verifiedEmails := []string{}
for _, contact := range result.Detail.Contacts {
if contact.condition.verified == "Yes" {
validEmails = append(validEmails, contact.email)
}
}
fmt.Println(validEmails)
我正在尝试根据 Go 中的下一个数组条件获取特定数据。我想,我就举个例子说清楚吧。
假设我有一个这样的数组
detail: {
contacts: [
{
email: "testing@gmail.com"
condition: {
valid: "Yes",
verified: "No"
}
},
{
email: "testing2@gmail.com"
condition: {
valid: "Yes",
verified: "Yes"
}
}
]
}
所以,如果条件验证为“是”,我会在调用 grpc 函数后尝试将电子邮件作为 return 获取。
result, err := grpcService.callingService.GetContactDetail(ctx, &contactServicePb.GetContactDetailRequest{
ContactId: "123",
})
if err != nil {
return err
}
这是我目前尝试的方法,我可以访问联系人列表,但我不知道如何验证属于“是”的电子邮件。
fmt.Println(result.Detail.Contacts)
这是输出的样子
{
email: "testing@gmail.com"
condition: {
valid: "Yes",
verified: "No"
}
},
{
email: "testing2@gmail.com"
condition: {
valid: "Yes",
verified: "Yes"
}
}
您可以遍历 result.Detail.Contacts
数组并存储联系人的电子邮件,验证条件为“是”:
verifiedEmails := []string{}
for _, contact := range result.Detail.Contacts {
if contact.condition.verified == "Yes" {
validEmails = append(validEmails, contact.email)
}
}
fmt.Println(validEmails)