срез / массив структур внутри структуры - PullRequest
0 голосов
/ 21 мая 2019

Пожалуйста, примите во внимание этот фрагмент: https://play.golang.org/p/JkMIRwshG5U

Моя Service структура содержит:

type Service struct {
    ServiceName string
    NodeCount   int
    HeadNode    Node
    Health      bool
}

и моя структура Node имеет:

type Node struct {
    NodeName  string
    LastHeard int
    Role      bool
    Health    bool
}

Предположим, если у меня есть 3 узла для моего Сервиса; Я бы хотел, чтобы структура Service также имела / держала список узлов. Или часть структур, поскольку это Go, и как мне представить это в Service struct? (Извините, если этот вопрос все еще встречается неоднозначно!)

1 Ответ

1 голос
/ 21 мая 2019

Как указал @JimB, вам понадобится фрагмент объектов Node. Просто создайте новое поле в структуре Service для хранения фрагмента объектов Node, а затем добавьте каждый объект Node к этому фрагменту объектов Node.

4 незначительных изменения в вашем коде:

type Service struct {
    ServiceName string
    NodeCount   int
    HeadNode    Node
    Health      bool
    // include Nodes field as a slice of Node objects
    Nodes       []Node
}

// local variable to hold the slice of Node objects
nodes := []Node{}

// append each Node to the slice of Node objects
nodes = append(nodes, Node1, Node2, Node3)

// include the slice of Node objects to the Service object during initialization
myService := Service{"PotatoServer", 3, Node1, true, nodes}

См. Рабочий пример на детской площадке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...