Нужно убедиться, что я не сойду с ума здесь. При регистрации карты экземпляров карта отображается должным образом, однако получение значения из карты не работает, как показано ниже.
serverStates инициализируется как: serverStates: make(map[string](string))
Функция:
// Function to retrieve a server state by key
func (sv *ServerSupervisor) getState(key string) string {
sv.mutex.Lock()
defer sv.mutex.Unlock()
strings.TrimSpace(key)
log.Println("map size: ", len(sv.serverStates))
log.Println("map: ", sv.serverStates)
log.Println("map at " + key + ": ", sv.serverStates[key])
return sv.serverStates[key]
}
Вывод в консоль:
2020/05/26 22:49:10 map size: 1
2020/05/26 22:49:10 map: map[2Rapxurg69iO:idle]
2020/05/26 22:49:10 map at 2Rapxurg69iO :
Может кто-нибудь объяснить, почему sv.serverStates[key]
равно нулю?