Я новичок в Golang, и я пытаюсь инициализировать структуру структур со списком строк внизу. Я хотел бы иметь доступ к значениям внутри в чистом и читабельном виде, но это не щелчок.Чистое выполнение многоуровневой структуры структур в Go
, например, установка структура выглядит следующим образом:
type config struct {
// a config can have many replicas
configName string
replicas []string
}
type instance struct {
// an instance can have many configs
name string
configs []config
}
type user struct {
// a user can have up to two instances
instances []instance
}
И я инициализацией так:
var users = map[string][]user{
"user-1": []user {
{
[]instance {
{
"instance-1",
[]config {
{
"some-config-1",
[]string{"xx", "yy", "zz",},
},
},
},
},
},
},
"user-2": {
{
[]instance {
{
"instance-2",
[]config {
{
"some-config-2",
[]string{"xx", "yy", "zz",},
},
},
},
},
},
},
}
Затем, чтобы получить доступ к любому из полей, я должен сделать валовой материал как:
func main() {
for user, _ := range users {
fmt.Println(users[user][0].instances[0].name)
}
}
Должен быть лучший способ? Пример использования (но грубый) кода здесь: http://play.golang.org/p/9M8pyBnMPB
Просто выполните функции для инициализации вещей, то есть NewUser, NewInstance, NewConfig. – user3591723