Как сделать структуру с структурой в мапе?

В Go можно создавать структуры с использованием других структур и включать их внутри мапы.

Прежде всего, давайте определим структуры, которые будут использоваться внутри мапы. Допустим, у нас есть структура Person, которая содержит информацию о человеке, и структура Address, которая содержит информацию об адресе:

type Address struct {
    Street string
    City   string
    State  string
}

type Person struct {
    Name    string
    Age     int
    Address Address
}

Затем мы можем создать мапу, которая будет содержать структуры Person. Ключом в этой мапе будет идентификатор (например, уникальный номер) человека, а значением будет структура Person:

people := make(map[int]Person)

Теперь мы можем создавать экземпляры структуры Person и добавлять их в нашу мапу:

person1 := Person{
    Name: "John Doe",
    Age:  30,
    Address: Address{
        Street: "123 Main St",
        City:   "New York",
        State:  "NY",
    },
}

person2 := Person{
    Name: "Jane Smith",
    Age:  25,
    Address: Address{
        Street: "456 Elm St",
        City:   "Los Angeles",
        State:  "CA",
    },
}

people[1] = person1
people[2] = person2

Теперь у нас есть мапа people, в которой хранятся два человека с идентификаторами 1 и 2. Каждый человек имеет имя, возраст и адрес.

Мы можем получить информацию о конкретном человеке, используя его идентификатор:

fmt.Println(people[1].Name)              // Выведет: John Doe
fmt.Println(people[1].Address.City)      // Выведет: New York
fmt.Println(people[2].Age)               // Выведет: 25

Таким образом, мы можем создавать структуры с использованием других структур и хранить их внутри мапы. Это очень удобно для организации и хранения сложных данных.