登录
首页 >  Golang >  Go问答

如何在Golang的gRPC服务中根据嵌套数组的条件来检索数据

来源:stackoverflow

时间:2024-03-25 21:54:35 447浏览 收藏

在 Go 语言的 gRPC 服务中,如何根据嵌套数组的条件检索数据?例如,在一个包含联系人详细信息的数组中,每个联系人都有一个条件属性。要获取验证条件为“是”的联系人电子邮件,可以使用迭代和条件检查。

问题内容

我正在尝试根据 go 中的下一个数组条件获取特定数据。我想,我举个例子就可以说清楚了。

假设我有一个像这样的数组

detail: {

   contacts: [

      {

         email: "[email protected]"

         condition: {
               
              valid: "yes",

              verified: "no"

         }

      },

      {

         email: "[email protected]"

         condition: {

              valid: "yes",

              verified: "yes"

         }

      }

   ]

}

因此,如果条件已验证“是”,我将尝试在调用 grpc 函数后获取电子邮件作为返回。

result, err := grpcservice.callingservice.getcontactdetail(ctx, &contactservicepb.getcontactdetailrequest{
    contactid: "123",
})
if err != nil {
    return err
}

这是我到目前为止所尝试的,我可以访问联系人列表,但我不知道如何接收属于“是”验证的电子邮件。

fmt.println(结果.detail.联系人)

这就是输出的样子

{

         email: "[email protected]"

         condition: {

              valid: "Yes",

              verified: "No"

         }

      },

      {

         email: "[email protected]"

         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)

本篇关于《如何在Golang的gRPC服务中根据嵌套数组的条件来检索数据》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>