为了账号安全,请及时绑定邮箱和手机立即绑定

如何从以下位置获取值 - 项目映射[字符串][][]*int64“位置名称:

如何从以下位置获取值 - 项目映射[字符串][][]*int64“位置名称:

Go
倚天杖 2022-09-26 19:35:44
我需要从 Go SDK(https://docs.aws.amazon.com/sdk-for-go/api/service/apigateway/#Usage)中获取以下数据中的值。我使用的是高浪 1.17.下面是我的 lambda 函数返回的数据。Decoded Data:  { map[]}All the usage:  map[4wxq8mcov8:[[0xc000353848 0xc000353870]]]{EndDate: "2021-08-31",Items: {4wxq8mcov8: [[12,975]]},StartDate: "2021-08-31",UsagePlanId: "w4wuvt"}我只想要来自 Items: {api_key: [[这个数字,还有这个数字]]},我只想要数组中的两个数字。示例返回数据,我想要 12 和 975 -Items: { 4wxq8mcov8: [[12,975]] }我如何获取数据,然后将两个数字除以得到百分比?获得百分比后,我将使用该数字与使用计划进行比较,以查看是否达到阈值。如果阈值是<=除号,我将通过SNS向slack或电子邮件发送消息。现在,我的重点是从项目映射中获取数字。提前感谢您。
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

要获得这两个数字,您必须从地图中获取它们。如果你总是知道键,并且你知道数组中只有一个元素,你可以这样做


u := getUsagePlanInfo(srv)


items := u.Items


quota := *items["4wxq8mcov8"][0][0]

remaining := *items["4wxq8mcov8"][0][1]


为了更安全,你应该这样做


if item, ok := items["4wxq8mcov8"]; ok && len(item) > 0 && len(item[0]) > 1 {

  quota := *item[0][0]

  remaining := *item[0][1]


  fmt.Printf("%d, %d\n", quota, remaining)

}

如果您有多个键,或者您不知道该键,则必须迭代映射并获取每个键的值


查看完整回答
反对 回复 2022-09-26
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号