Условие в цикле по карте в Go
Внутри цикла по карте можно выполнять команду
только для подходящих пар. Тело for
крутится для каждой пары, а ветка if
внутри решает, печатать ли ключ или пропустить
шаг вывода.
Выведем только тех, у кого возраст не меньше
25:
ages := map[string]int{"ann": 20, "bob": 30, "cy": 25}
for name, age := range ages {
if age >= 25 {
fmt.Println(name, age)
}
}
На экране строки для "bob" и "cy".
"ann" проверку не проходит и не печатается.
Условие может смотреть на ключ:
labels := map[string]int{"go": 1, "java": 2, "book": 3}
for k, v := range labels {
if k == "go" {
fmt.Println(v)
}
}
Дана следующая карта:
data := map[string]int{"a": 1, "b": 4, "c": 7}
Обойдите data и выведите ключи, где
значение больше 2.
Дана следующая карта:
room := map[string]int{"a": 3, "b": 4, "c": 5}
Печатайте "hit" только для значений,
которые делятся на 2 без остатка.
Дана следующая карта:
labels := map[string]string{"a": "x", "ab": "y", "abc": "z"}
Выведите только ключи длиной больше одного символа.