查找具有与字符串数组匹配的值的地图项目?

时间:2018-03-06 16:22:49

标签: go

我的代码有效,但我确信它不是最佳的。

我正在构建一个Map [string]字符串,其中包含作为键的警报名称和作为值的instanceids。我有一个只有instanceids的数组。我需要从地图中删除任何具有与数组中的instanceids匹配的值的键。然后返回一个[]字符串警报名称。我的代码正在运行,但我认为很高兴看到我是否正确地做到了这一点。返回中的[]字符串是可选的,我可能只是使用地图。

感谢您的投入。

func CheckAlarms(alarmMap map[string]string, instances []string) (result []string)  {

    var AlarmList []string

    for _, inst := range instances{

        for k, v := range alarmMap{

            if v == inst{
                log.Printf("**** Match Found add alarm to delete list %s\n", k)
                delete(alarmMap, k)
            }
        }

    }

    for k, v := range alarmMap{
        var inst []string


        AlarmList = append(AlarmList, k)
        inst = append(inst, v)

    }

    log.Printf("end of function list length %d", len(AlarmList))
return AlarmList
}

0 个答案:

没有答案