Насколько медленным является использование типов assertions/type switch в Go, как метод обнаружения типа времени выполнения?
Я слышал, что в C/С++, например, обнаружение типов во время выполнения имеет плохую производительность. Чтобы обойти это, вы обычно добавляете членов типа к классам, поэтому вы можете сравнивать их вместо того, чтобы делать кастинг.
Я не нашел для этого четкого ответа на протяжении всего www.
Вот пример того, о чем я прошу, - считается ли это быстрым по сравнению с другими методами проверки типов (как упоминалось выше или другими, о которых я не знаю)?
func question(anything interface{}) {
switch v := anything.(type) {
case string:
fmt.Println(v)
case int32, int64:
fmt.Println(v)
case SomeCustomType:
fmt.Println(v)
default:
fmt.Println("unknown")
}
}