Заполнение многомерных карт в Go
Пустую карту карт собирают двумя циклами по готовым ключам. Внешний цикл берет ключ верхнего уровня, внутренний записывает число во вложенную карту:
data := map[string]map[string]int{}
keys := []string{"a", "b"}
sub := []string{"x", "y"}
for i := 0; i < len(keys); i++ {
row := map[string]int{}
for j := 0; j < len(sub); j++ {
row[sub[j]] = j + 1
}
data[keys[i]] = row
}
fmt.Println(data["b"]["y"]) // выведет 2
Даны ключи:
keys := []string{"n", "s"}
sub := []string{"a", "b"}
Заполните карту карт: по каждому
внешнему ключу внутренние значения равны
10 и 20. Выведите число
по ключам "s" и "a".
Дан срез ключей и число:
keys := []string{"red", "blue", "green"}
val := 5
Заполните карту карт: у каждого
ключа из среза есть внутренняя пара
с ключом "id" и этим числом.
Выведите значение по ключам "green"
и "id".