История изменений
Исправление derlafff, (текущая версия) :
Способы ограничены только полетом твоей фантазии. Можно вот такой вариант сделать:
var MessageHandlers = map[string]func(json.RawMessage) error {
"ChatMessage": ChatMessageHandler,
}
func ChatMessageHandler(msg json.RawMessage) error {
// ...
}
handler, found := MessageHandlers[msg.Type]
if !found {
return errors.New("No handler for this type of message")
}
err = handler(msg.Data)
// ...
Исходная версия derlafff, :
Способы ограничены только полетом твоей фантазии. Можно вот такой вариант сделать:
var MessageHandlers = map[string]func(json.RawMessage) error {
"ChatMessage": ChatMessageHandler,
}
func ChatMessageHandler(msg json.RawMessage) error {
// ...
}
handler, found := MessageHandlers[msg.Type]
if !found {
return errors.New("No handler for this type of message")
}
err = handler(msg.Data)
...