Ссылочный тип выражения с Голангом - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть

var Map = map[string]Model{}

var (
    mtx    sync.Mutex
    people Map
)

Я получаю эту ошибку:

enter image description here

Есть ли способ ссылки на типкарты, что-то вроде этого:

var (
    mtx    sync.Mutex
    people reflect.Type(Map)  // <<< ?
)

или я должен просто прибегнуть к объявлению типа следующим образом:

type Map map[string]Model

и инициализации карты, как я делаю в строке 54?Я просто пытался инициализировать карту в файле без необходимости делать это в функции Init.

Ответы [ 3 ]

0 голосов
/ 03 декабря 2018

Вы можете использовать литерал карты для инициализации карты:

type Model struct {}

var people = map[string]Model{
    "Foo": Model{},
    "Bar":   Model{},
}
0 голосов
/ 03 декабря 2018

Я думаю, вы хотите использовать что-то вроде

type Model struct{}
type ModelMap map[string]Model

var (
    mtx sync.Mutex
    people = ModelMap{}
)
0 голосов
/ 03 декабря 2018

Я не уверен, что понял вашу проблему, но вы можете сделать что-то вроде этого:

 var Map = map[string]Model{}

 var (
   mtx sync.Mutex
   people = Map
 )

Таким образом people инициализируется так же, как Map.

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