Избегайте использования утверждений типа в ветвях переключателя типа
Я использую переключатели типа в Go, например следующий:
switch question.(type) {
case interfaces.ComputedQuestion:
handleComputedQuestion(question.(interfaces.ComputedQuestion), symbols)
case interfaces.InputQuestion:
handleInputQuestion(question.(interfaces.InputQuestion), symbols)
}
Есть ли способ предотвратить то, что мне нужно определить тип вопроса внутри кейса, прежде чем я смогу передать его другой функции?